Java后台如何上传图片到七牛云
一:为啥用七牛云
看某马的培训视频,要用到 fastdfs,配置起来挺麻烦,于是决定自己弄一个图片服务器,因为之前做安卓项目的时候用过七牛云的 SDK 感觉挺 ok
,于是改用七牛云。使用七牛云的对象存储,需要一个备案的域名,用来绑定存储空间,如果只是短时间用,七牛云倒是会提供一个 30 天的临时
域名。以自己的域名加一个前缀,比如 media.XXX.cn 之后会获得一个 CNAME,然后在域名厂商的控制台添加解析,比如我是在阿里云买的:
这样就能使用了,访问图片就是 medis.XXX.cn/example.jpg
二:后台传送模块的编写
添加七牛云依赖到 pom(建议使用官方文档推荐的版本)
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<version>[7.2.0, 7.2.99]</version>
</dependency>
由于 Spring 接收文件的类型是 MultipartFile,需要先转成 File 文件。
//File代入参数是临时文件的目录,在磁盘新建一个空文件就行,否则好像会报异常。
File file = new File("C:\\test");
//uploadFile是MultipartFile对象
uploadFile.transferTo(file);
//得到图片的url
String url = QiniuCloudUtil.upload(file, preName);
//生成的文件会存在本地,我这里选择删除它
file.delete();
工具如下,不复杂:
import java.io.File;
import java.io.IOException;
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.util.Auth;
import org.springframework.util.StringUtils;
/**
* @author yintianhao
* @createTime 07 21:07
* @description 七牛云工具
*/
public class QiniuCloudUtil {
// 设置需要操作的账号的AK和SK
private static final String ACCESS_KEY = "*******";
private static final String SECRET_KEY = "*******";
// 要上传的空间名
private static final String bucketname = "****";
// 密钥
private static final Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
//上传
public static String upload(File file, String key) throws IOException{
// 创建上传对象,Zone*代表地区
Configuration configuration = new Configuration(Zone.zone2());
UploadManager uploadManager = new UploadManager(configuration);
try {
// 调用put方法上传
String token = auth.uploadToken(bucketname);
if(StringUtils.isEmpty(token)) {
System.out.println("未获取到token,请重试!");
return null;
}
print("File name = "+file.getName());
Response res = uploadManager.put(file,key,token);
// 打印返回的信息
if (res.isOK()){
return key;
}
}catch (QiniuException e) {
Response r = e.response;
// 请求失败时打印的异常的信息
e.printStackTrace();
System.out.println("error "+r.toString());
try {
// 响应的文本信息
System.out.println(r.bodyString());
} catch (QiniuException e1) {
System.out.println("error "+e1.error());
}
}
return null;
}
}
邀请注册:
你也赶紧注册一个试试吧:
https://portal.qiniu.com/signup?code=1h4qfxyrak5zm
标题:Java后台如何上传图片到七牛云
作者:jerrycookie
地址:https://www.mmzsblog.cn/articles/2020/06/29/1593396711960.html
如未加特殊说明,文章均为原创,转载必须注明出处。均采用CC BY-SA 4.0 协议!
本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。若本站转载文章遗漏了原文链接,请及时告知,我们将做删除处理!文章观点不代表本网站立场,如需处理请联系首页客服。• 网站转载须在文章起始位置标注作者及原文连接,否则保留追究法律责任的权利。
• 公众号转载请联系网站首页的微信号申请白名单!
