所有文档

          对象存储 BOS

          搭建美图APP

          美图 APP 示例

          手机美图示例 APP 下载地址:

          下载完 APP 并安装完成后可以直接通过应用服务器地址访问 BOS ,并进行图片处理。应用服务器地址是指搭建移动应用的后台服务器,默认开启的端口为8080。关于 BOS 的区域和 Bucket 设置都需要在应用服务器进行配置。

          APP操作方法

          该 APP 支持用户上传、下载和下载缩放图三个功能。

          • 上传:用户填写应用服务器地址后,选择本地需要上传的图片,图片会显示在操作界面下方,点击上传即可。上传成功会显示 “File Uploaded”。
          • 下载:用户填写需要下载的文件名称,点击下载按钮即可。下载成功会显示 “File Downloaded”。
          • 下载缩放图:下载缩放图时必须指定明确的图片后缀如 jpg ,然后设置下载图形的宽和高以及旋转角度,点击下载缩放图,则会获取经过处理的图形。下载成功会显示 “File Downloaded”。 Demo 版本下载后的图片都不会存储到本地。

          如何搭建美图APP

          搭建美图 APP 包含以下几个步骤:

          1. 开启 BOS 服务并创建 Bucket 用于存储图片,开通和创建 Bucket 的详细操作请参见创建 Bucket。如果要下载缩放图,需要保证指定的 Bucket 开启了图片处理服务。
          2. 开通 STS 服务,用于保证上传和下载图片的安全性。
          3. 部署应用服务器,实现和 BOS 及客户端的交互,美图 APP 代码请参考:BOS美图APP代码
          4. 下载安装美图APP。

          如何部署应用服务器

          1. 从 github 上下载sample code的代码包,代码包主要包含 “bos_meitu_app” 和 “bos_meitu_app_server” 两部分,其中 “bos_meitu_app” 主要用于定义APP界面及相关动作,“bos_meitu_app_server” 为应用服务器相关配置。
          2. 修改 “bos_meitu_app_server” 中的 “MeituAppServerHandler.java” 文件,其中定义了 ak/sk、BOS 服务器对应的 Endpoint 和 Bucket 名称等信息。

                 public String getBosInfo(String bosRequestType) {
                      //配置ak、sk
                      String bosAk = "开发者的ak";
                      String bosSk = "开发者的SK";
                      //百度智能云提供的stsendpoint
                      String stsEndpoint = "http://sts.bj.baidubce.com";
            
                      BceCredentials credentials = new DefaultBceCredentials(bosAk, bosSk);
                      BceClientConfiguration clientConfig = new BceClientConfiguration();
                      clientConfig.setCredentials(credentials);
                      clientConfig.setEndpoint(stsEndpoint);
                      StsClient stsClient = new StsClient(clientConfig);
                      GetSessionTokenRequest stsReq = new GetSessionTokenRequest();
                      // request expiration time
                      stsReq.setDurationSeconds(1800);
                      GetSessionTokenResponse stsToken = stsClient.getSessionToken(stsReq);
                      String stsTokenAk = stsToken.getCredentials().getAccessKeyId();
                      String stsTokenSk = stsToken.getCredentials().getSecretAccessKey();
                      String stsTokenSessionToken = stsToken.getCredentials().getSessionToken();
            
                      // BOS服务的Endpoint地址,及Bucket名称。
                      String bosEndpoint = "http://bj.bcebos.com";
                      String bucketName = "Bucket名称";
                      if (bosRequestType.equalsIgnoreCase("download-processed")) {
                          // the binded image processing domain set by App developer on bce console
                          bosEndpoint = "http://" + bucketName + ".bj.bcebos.com";
                      }
            
                      // prefix is the bucket name, and does not specify the object name
                      BosInfo bosInfo = new BosInfo(stsTokenAk, stsTokenSk, stsTokenSessionToken, bosEndpoint,
                              bucketName, "", bucketName);
            
                      String res = "";
                      ObjectMapper mapper = new ObjectMapper();
                      try {
                          res = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(bosInfo);
                      } catch (JsonProcessingException e) {
                          // TODO Auto-generated catch block
                          e.printStackTrace();
                          res = "";
                      }
                      System.out.println(res);
                      try {
                          res = new String(res.getBytes(), "utf8");
                      } catch (UnsupportedEncodingException e) {
                          // TODO Auto-generated catch block
                          e.printStackTrace();
                          res = "";
                      }
                      return res;
                  }
          3. 将修改完成的服务器代码重新编译打包为 bos_meitu_app_server.jar,将 jar 包上传到应用服务器上并执行命令 java -jar bos_meitu_app_server.jar
          上一篇
          场景简介
          下一篇
          基于BOS使用美图APP