博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
七牛云存储:断点续传
阅读量:2161 次
发布时间:2019-05-01

本文共 2211 字,大约阅读时间需要 7 分钟。

package com.learn.qiniu;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.Region;import com.qiniu.storage.UploadManager;import com.qiniu.storage.model.DefaultPutRet;import com.qiniu.storage.persistent.FileRecorder;import com.qiniu.util.Auth;import org.junit.Test;import java.io.IOException;import java.nio.file.Paths;public class QiniuDemo {    //断点续传    @Test    public void testUpload02() {        //构造一个带指定Zone对象的配置类        Configuration cfg = new Configuration(Region.region2());        //...其他参数参考类注释        //...生成上传凭证,然后准备上传        String accessKey = "ojcdZhgxHynIK7Va9DH2OGc9YG94lTzyAsCJn_8e8";        String secretKey = "AFW9QSV8BAZ8p1vh_dKDm30BBybvIWAjAhQWUyMZ8";        String bucket = "learn-bucket";        //如果是Windows情况下,格式是 D:\\qiniu\\test.png        String localFilePath = "C:\\Users\\leon\\Desktop\\00\\test.xlsx";        //默认不指定key的情况下,以文件内容的hash值作为文件名        String key = "testExcel";        Auth auth = Auth.create(accessKey, secretKey);        String upToken = auth.uploadToken(bucket);        //断点续传:        String localTempDir = Paths.get(System.getProperty("java.io.tmpdir"), bucket).toString();        System.out.println(localTempDir);        try {            //设置断点续传文件进度保存目录            FileRecorder fileRecorder = new FileRecorder(localTempDir);            UploadManager uploadManager = new UploadManager(cfg, fileRecorder);            try {                Response response = uploadManager.put(localFilePath, key, upToken);                //解析上传成功的结果                DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);                System.out.println(putRet.key);                System.out.println(putRet.hash);            } catch (QiniuException ex) {                Response r = ex.response;                System.err.println(r.toString());                try {                    System.err.println(r.bodyString());                } catch (QiniuException ex2) {                    //ignore                }            }        } catch (IOException ex) {            ex.printStackTrace();        }    }}

 

转载地址:http://bqkzb.baihongyu.com/

你可能感兴趣的文章
走进JavaWeb技术世界7:Tomcat和其他WEB容器的区别
查看>>
走进JavaWeb技术世界9:Java日志系统的诞生与发展
查看>>
走进JavaWeb技术世界10:从JavaBean讲到Spring
查看>>
走进JavaWeb技术世界11:单元测试框架Junit
查看>>
走进JavaWeb技术世界12:从手动编译打包到项目构建工具Maven
查看>>
走进JavaWeb技术世界13:Hibernate入门经典与注解式开发
查看>>
走进JavaWeb技术世界14:Mybatis入门
查看>>
走进JavaWeb技术世界16:极简配置的SpringBoot
查看>>
初探Java设计模式1:创建型模式(工厂,单例等)
查看>>
初探Java设计模式2:结构型模式(代理模式,适配器模式等)
查看>>
初探Java设计模式3:行为型模式(策略,观察者等)
查看>>
初探Java设计模式4:一文带你掌握JDK中的设计模式
查看>>
初探Java设计模式5:一文了解Spring涉及到的9种设计模式
查看>>
Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
查看>>
Java集合详解2:一文读懂Queue和LinkedList
查看>>
Java集合详解3:一文读懂Iterator,fail-fast机制与比较器
查看>>
Java集合详解4:一文读懂HashMap和HashTable的区别以及常见面试题
查看>>
Java集合详解5:深入理解LinkedHashMap和LRU缓存
查看>>
Java集合详解6:这次,从头到尾带你解读Java中的红黑树
查看>>
Java集合详解7:一文搞清楚HashSet,TreeSet与LinkedHashSet的异同
查看>>