发表于: 2017-09-17 23:42:59
1 734
【今日完成】
今天终于把图片上传搞定了,多亏了师兄的小课堂:https://v.qq.com/x/page/m052917m1ia.html
其实挺简单的,就是一开始被官方的文档搞迷糊了,不知道到底该怎么做图片上传。
首先把图片上传的代码展示一下:
public class QiNiuCloud {
//构造一个带指定Zone对象的配置类
@Test
public void sendImage(){
Configuration cfg = new Configuration(Zone.zone0());
//...其他参数参考类注释
UploadManager uploadManager = new UploadManager(cfg);
//...生成上传凭证,然后准备上传
String accessKey = "0Sm3oIW_H0YnU8YFKERyA1wuaGH2fgimTJOYl";
String secretKey = "GX0sTeieEEkX0bchcJpB3UCdgvKAACYL-pMfI";
String bucket = "bernkast";
//如果是Windows情况下,格式是 D:\\qiniu\\test.png
String localFilePath = "D:\\\\test.png";
//默认不指定key的情况下,以文件内容的hash值作为文件名
String key = null;
Auth auth = Auth.create(accessKey, secretKey);
String upToken = auth.uploadToken(bucket);
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
}
}
}
}
代码里最重要的就是
//...生成上传凭证,然后准备上传
String accessKey = "0Sm3oIW_H0YnU8YFKERyA1wuaGH2fgimTJOYl";
String secretKey = "GX0sTeieEEkX0bchcJpB3UCdgvKAACYL-pMfI";
String bucket = "bernkast";
//如果是Windows情况下,格式是 D:\\qiniu\\test.png
String localFilePath = "D:\\\\test.png";
一个是秘钥(为了隐私安全我删了几个字符),一个是储存空间名字,还有一个是上传路径。
当然,光有这些还是不够的,官网和小课堂都没有把需要引入的Jar包列举出来,根据报红的地方,依次引入。
import com.qiniu.util.Auth;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
import com.qiniu.http.Response;
import com.qiniu.common.QiniuException;
import com.google.gson.*;
import com.qiniu.common.Zone;
import org.junit.Test;
引入完成后看似可以运行了,来试试。
测试通过,去七牛云看看。
可以看到,图片已经成功上传。
不过我图片名字是Test.png,在这里变成了一串无规律的字符。
可以看到程序运行打印的一串String,正是七牛云中图片的名字
仔细看代码,发现七牛云上传应该是一个Map。
只不过这里Key与Hash是相同的。
至此图片上传功能完成。
【今日收获】
借助小课堂,完成了图片上传七牛云的功能
【明日计划】
整理一下,开启任务八
【任务进度】
基本搞定了,无延期风险
http://task.ptteng.com/zentao/project-burn-268.html
评论