使用 七牛云 存储 图片 附件
简介:七牛云存储(以下简称七牛),是专为移动时代开发者打造的数据管理平台,为互联网网站和移动App提供数据的在线托管、传输加速以及图片、音视频等富媒体的云处理服务。使用java客户端上传图片附件1.申请账号登陆 http://www.qiniu.com/ 注册申请一个七牛账号,获取账号的两对密钥(Access/Secret Key),以下记为AK/SK,创建一个空间,假
简介:
七牛云存储(以下简称七牛),是专为移动时代开发者打造的数据管理平台,为互联网网站和移动App提供数据的在线托管、传输加速以及图片、音视频等富媒体的云处理服务。
使用java客户端上传图片附件
1.申请账号
登陆 http://www.qiniu.com/ 注册申请一个七牛账号,获取账号的两对密钥(Access/Secret Key),以下记为AK/SK,创建一个空间,假设名为 qiniubucket
2.使用java客户端上传一个图片到七牛空间
创建一个配置文件,放到类路径的根目录,用于保存七牛的账号信息:qiniu.properties,内容:
# qiniu properties
qiniu.ak=pKC0JUHmxxxxxxxxxkTpYcRyP1I9ASML9C_
qiniu.sk=MhEHoYqTpxxxxxxxxxxUY16nk_933o-wNDF
qiniu.bucket=conxxxx
PS:请修改为自己的七牛账号信息
工具类如下:
import com.baidu.ueditor.upload.StorageManager;
import com.qiniu.common.QiniuException;
import com.qiniu.http.Response;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
import java.io.IOException;
import java.util.Properties;
public class UEQiNiuUtil {
public String ak;
public String sk;
public String bucket;
public UploadManager uploadManager;
public void init() {
try {
Properties properties = new Properties();
properties.load(UEQiNiuUtil.class.getResourceAsStream("/qiniu.properties"));
ak = properties.getProperty("qiniu.ak");
sk = properties.getProperty("qiniu.sk");
bucket = properties.getProperty("qiniu.bucket");
uploadManager = new UploadManager();
StorageManager.ueQiNiuUtil = this;//TODO: add hook to UE
} catch (IOException e) {
e.printStackTrace();
}
}
public String getUptoken() {
// TODO: should be cached for performance
String uptoken = Auth.create(ak, sk).uploadToken(bucket);
return uptoken;
}
public void uploadFileToQiNiu(String fileKey, String file) {
try {
Response response = uploadManager.put(file, fileKey, getUptoken());
// see response
} catch (QiniuException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
UEQiNiuUtil ueQiNiuUtil = new UEQiNiuUtil();
ueQiNiuUtil.init();
ueQiNiuUtil.uploadFileToQiNiu("aabbcc", "/home/conquer/Desktop/baidu.png");
}
}
注:上文java中的 StorageManager 是结合 百度编辑器 UEditor使用的,可以直接删除,了解七牛与UEditor 的结合,请点击。
java源码依赖:
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<version>7.0.8</version>
</dependency>
这样就可以把图片上传到自己的空间,通过“空间-内容管理”可查看,也可以通过七牛分配的域名加图片地址访问到该图片资源,如果希望设置上传到七牛后的 回调(七牛服务器回调一个指定的服务器用于报告上传结果信息)信息,则添加 callbackUrl 和 callbackBody 等信息。
使用js上传到七牛
七牛允许通过html/js技术直接上传图片到七牛服务器,并允许设置回调等,通过html/js技术上传图片同样需要先生成一个上传 token(和java生成token的方式一样),也可以自定义一些变量等,如果需要指定七牛的返回结果可以结合token生成时指定returnUrl 、returnBody等信息完成,不过七牛返回的数据格式固定为 application/json 的,貌似不能自行指定。
关于七牛上传详细了解:http://developer.qiniu.com/article/kodo/kodo-developer/index.html#put-policy
更多推荐
所有评论(0)