本文共 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/