图片存储方案
介绍
常见的图片存储方案
- 使用nginx搭建图片服务器
- 使用开源的分布式文件存储系统,例如Fastdfs,HDFS等
- 使用云存储,例如阿里云,七牛云等
七牛云存储
注册登录
要使用七牛云的服务,首先需要注册成为会员。地址:https://portal.qiniu.com/signup
注意:登录成功后还需要进行实名认证才能进行相关操作
新建存储空间
七牛云提供了多种方式操作对象存储服务,本文采用Java SDK方式,地址:https://developer.qiniu. com/kodo/sdk/1239/java
- maven依赖:
鉴权
Java SDK操作七牛云
官方文件上传
//构造一个带指定 Region 对象的配置类
Configuration cfg = new Configuration(Region.region0());
//...其他参数参考类注释
UploadManager uploadManager = new UploadManager(cfg);
//...生成上传凭证,然后准备上传
String accessKey = "your access key";
String secretKey = "your secret key";
String bucket = "your bucket name";
//如果是Windows情况下,格式是 D:\\qiniu\\test.png
String localFilePath = "/home/qiniu/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
}
}
删除空间中的文件