博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
七牛文件上传demo
阅读量:3951 次
发布时间:2019-05-24

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

@Test    public void haha() {
//构造一个带指定 Region 对象的配置类 Configuration cfg = new Configuration(Region.region2());//...其他参数参考类注释 UploadManager uploadManager = new UploadManager(cfg);//...生成上传凭证,然后准备上传 String accessKey = "your key"; String secretKey = " you decret"; String bucket = "your 空间名字";//默认不指定key的情况下,以文件内容的hash值作为文件名 String key = null; try {
byte[] uploadBytes = "hello qiniu cloud".getBytes("utf-8"); Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); try {
Response response = uploadManager.put(uploadBytes, 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 System.out.println(ex2); } } } catch (UnsupportedEncodingException ex) {
//ignore System.out.println(ex); } }

导 包

com.google.code.gson
gson
2.8.5
compile
com.squareup.okhttp3
okhttp
3.14.4
com.alibaba
fastjson
1.2.67
com.qiniu
happy-dns-java
0.1.6
test
com.qiniu
qiniu-java-sdk
[7.2.0, 7.2.99]

注意点:

//构造一个带指定Zone对象的配置类 Configuration cfg = new Configuration(Zone.zone0());//Zone.zone0() 指华东 Configuration cfg = new Configuration(Zone.zone1());//华北 Configuration cfg = new Configuration(Zone.zone2());//华南

上传本地文件并且生成外链:

private String path = "C:\\Users\\ASUS\\Desktop\\课表.jpg";    @Test    public void haha() {
//构造一个带指定 Region 对象的配置类 Configuration cfg = new Configuration(Region.region2());//...其他参数参考类注释 UploadManager uploadManager = new UploadManager(cfg);//...生成上传凭证,然后准备上传 String accessKey = "yours key"; String secretKey = "yours key"; String bucket = "ywf";//默认不指定key的情况下,以文件内容的hash值作为文件名 String key = null; try {
Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); try {
Response response = uploadManager.put(path, 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 System.out.println(ex2); } } } catch (UnsupportedEncodingException ex) {
//ignore System.out.println(ex); } }

图片服务器 会给你一个域名,将 域名+ ret.hash

就是图片的访问外链了。

@Override    public String saveImageWithPath(MultipartFile file) {
if(!checkSize(file)) {
return "ERROR"; } Configuration cfg = new Configuration(Region.region0());//华东的仓库//...其他参数参考类注释 UploadManager uploadManager = new UploadManager(cfg); String key = null; Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(buckName); String result=null; try {
Response response = uploadManager.put(file.getBytes(), key, upToken); //解析上传成功的结果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); // System.out.println(putRet.key); // System.out.println(putRet.hash); log.info(putRet.key); result = putRet.hash; } catch (QiniuException ex) {
Response r = ex.response; log.error(r.toString()); try {
log.error(r.bodyString()); } catch (QiniuException ex2) {
//ignore log.error(String.valueOf(ex2)); } } catch (IOException e) {
log.error(e.getMessage()); } //图片路径: 域名+'/'+ 具体的hash值 return prefix+'/'+result; }

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

你可能感兴趣的文章
mysql 创建单表外键关联多表
查看>>
postman使用
查看>>
ClassNotFoundException和NoClassDefFoundError的区别
查看>>
Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化
查看>>
spring注解@Primary与@Qualifier
查看>>
annotation之@Autowired、@Inject、@Resource三者区别
查看>>
idea启动微服务找不到配置文件
查看>>
Java通过反射机制调用某个类的方法
查看>>
字节跳到面试题
查看>>
Linux查看物理CPU个数
查看>>
Linux学习之网络IO,磁盘io
查看>>
ES7.6.2安装
查看>>
查看jar依赖树
查看>>
idea运行gradle项目
查看>>
es安装ltr插件
查看>>
开源ltr-es-7.6.2代码到本地idea打开出现各种错误总结
查看>>
Requests实践详解&& python通过连接开启https的elasticsearch7 服务器
查看>>
ES查询流程源码解析
查看>>
ldaps与ldap over TLS
查看>>
jvm为什么把-Xms和-Xmx的值设置成一样
查看>>