zoukankan      html  css  js  c++  java
  • Java进阶学习:将文件上传到七牛云中

    Java进阶学习:将文件上传到七牛云中

    通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去。 

    JavaSDK:https://developer.qiniu.com/kodo/sdk/1239/java#server-upload

    官方SDK:https://developer.qiniu.com/sdk#official-sdk

    创建空间及绑定域名

    创建存储空间

      这一步操作没有什么好说的,我们存储区域可以根据服务器的高频访问地域进行设置

      

    绑定域名

      创建好存储空间后就会默认给你一个测试域名来使得你能通过外链访问你空间的内容。但是七牛云存储器作为我们应用的一部分,它的访问域名也应该遵循我们的域名规范,此时我们可以通过绑定域名来实现这样的效果,比如可以通过cloud.mrsaber.cn来访问七牛云存储中的文件。

      点击图示位置中的自定义域名:

      

      填写域名的相关信息及设置(域名必填,其他默认即可):

      

      填写完以后将七牛云将会给你一个CNAME:

      

      最后一步是,在你的域名厂商中添加一条二级解析域名,指向这个CNAME:

      

      这样回域名管理中刷新一下,直到通知你域名创建成功以后即可。

      

    Java测试上传文件

    创建一个Java应用

      由于要安装七牛云的SDK,我们将我们的Java应用转换为Maven应用。

      项目上右键 Add Framework Support  然后选中Maven,点击OK

      

    添加第三方类库

    <dependencies>
        <dependency>
          <groupId>com.qiniu</groupId>
          <artifactId>qiniu-java-sdk</artifactId>
          <version>7.2.11</version>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>com.squareup.okhttp3</groupId>
          <artifactId>okhttp</artifactId>
          <version>3.3.1</version>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>com.google.code.gson</groupId>
          <artifactId>gson</artifactId>
          <version>2.6.2</version>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>com.qiniu</groupId>
          <artifactId>happy-dns-java</artifactId>
          <version>0.1.4</version>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <scope>test</scope>
        </dependency>
      </dependencies>

    编写测试代码

    import com.google.gson.Gson;
    import com.qiniu.common.QiniuException;
    import com.qiniu.common.Zone;
    import com.qiniu.http.Response;
    import com.qiniu.storage.Configuration;
    import com.qiniu.storage.UploadManager;
    import com.qiniu.storage.model.DefaultPutRet;
    import com.qiniu.util.Auth;
    
    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
            /*
            * Configuration 表示带指定Zone对象的配置类
            * 其中Zone 2 表示华南地区
            * */
            Configuration cfg = new Configuration(Zone.zone2());
            UploadManager uploadManager = new UploadManager(cfg);
            String accessKey = "XXXXX";
            String secretKey ="YYYYY";
            String bucket= "你当时建的存储空间的名称";
            Scanner scanner = new Scanner(System.in);
            String filePath = scanner.nextLine();
            //Key 表示文件上传到服务器中的名称,为空的话默认为文件Hash值
            String key = filePath.substring(filePath.lastIndexOf("/")+1);
            Auth auth = Auth.create(accessKey,secretKey);
            String upToken = auth.uploadToken(bucket);
            try {
                Response response = uploadManager.put(filePath,key,upToken);
                DefaultPutRet putRet = new Gson().fromJson(response.bodyString(),DefaultPutRet.class);
                System.out.println(putRet.hash);
                System.out.println(putRet.key);
            } catch (QiniuException e) {
                e.printStackTrace();
            }
        }
    }

    其中秘钥的位置在这里

      

  • 相关阅读:
    Seven ways to improve example-based single image super resolution【阅读笔记】
    Perceptual Losses for Real-Time Style Transfer and Super-Resolution【阅读笔记】
    Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network【ESPCN】【阅读笔记】
    Image Super-Resolution Using Deep Convolutional Networks【SRCNN】【阅读笔记】
    CAD绘制剖面图的详细步骤和方法
    【场景编辑工具】如何快速在倾斜模型上添加人工模型完成场景搭建?
    【工具分享】DEM高程数据爬取工具
    河长制方案优化
    根据三个点的坐标计算其夹角
    Shell脚本中大小关系判断[大于、小于、等于、不等于...]
  • 原文地址:https://www.cnblogs.com/MrSaver/p/9864077.html
Copyright © 2011-2022 走看看