Android开发之--上传图片到七牛云存储
16lz
2021-01-25
前段时间做个人中心页面时,添加了头像上传功能,当时使用的是七牛的云存储,个人感觉还不错。所以就总结一下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参数),再上传到自己的服务器进行存储,至此图片上传才算完成。
更多相关文章
- Android网络图片请求+二级缓存实现
- Android图片加载库:最全面的Picasso讲解
- ImageSwitcher的应用
- Canvas和Drawable
- Android中GridView的使用——使用自带的SimpleAdapter(简单适配
- Android(安卓)绘制圆形图片
- Android中仿微信选择图片并展示在RecyclerView中
- Android(安卓)Glide扩展实现图片加载进度条
- android 9.png图片详解