您的位置:首页 > 移动开发 > Android开发

Android开发之--上传图片到七牛云存储

2017-05-25 10:21 337 查看
前段时间做个人中心页面时,添加了头像上传功能,当时使用的是七牛的云存储,个人感觉还不错。所以就总结一下Android使用七牛云存储的图片上传,具体的图片选择过程可参见我的另一篇文章Android之图片选择与裁剪,今天我们重点要说的是七牛的图片上传功能。


在AndroidManifest.xml中添加访问存储卡和网络的权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
1
2
1
2


添加图片上传所需要的jar包(这一点比较坑,记得当时官网上下载的不能用)

下载: 七牛图片上传需要的Jar包


代码实现:

在需要图片上传的地方调用下面的方法:
/**
* 上传图片到七牛
* @param filePath 要上传的图片路径
* @param token 在七牛官网上注册的token
*/
private void uploadImageToQiniu(String filePath, String token) {
UploadManager uploadManager = new UploadManager();
// 设置图片名字
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String key = "icon_" + sdf.format(new Date());
uploadManager.put(filePath, key, token, new UpCompletionHandler() {
@Override
public void complete(String key, ResponseInfo info, JSONObject res) {
// info.error中包含了错误信息,可打印调试
// 上传成功后将key值上传到自己的服务器
}
}, null);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

需要注意的是,不要再客户端直接引用token,否则可能导致token泄漏,造成不必要的损失。


正确的图片上传流程:

访问自己的服务器获取token;
使用获取的token上传图片到七牛;
从七牛获取上传后的图片的存储路径(也就是complete方法中的key参数),再上传到自己的服务器进行存储,至此图片上传才算完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐