美文网首页
android 集成七牛云sdk

android 集成七牛云sdk

作者: 牵手生活 | 来源:发表于2020-01-09 19:27 被阅读0次

web端参见:Springboot 技术整合--笔记11--集成Guns--8集成七牛云-对象存储

build.gradle导入七牛

implementation 'com.qiniu:qiniu-android-sdk:7.5.0'

获取web端返回的token

上传文件

                if (WechatAndHostParam.qiNiuUploadToken !=null){//web端返回的token
                    try {
                        Configuration config = new Configuration.Builder()  //https://developer.qiniu.com/kodo/sdk/1236/android
                                .chunkSize(512 * 1024)
                                .putThreshhold(1024 * 1024)
                                .connectTimeout(30)
                                .useHttps(true)
                                .responseTimeout(60)// 服务器响应超时。默认60秒
                                //.zone(FixedZone.zone0) // 设置区域,不指定会自动选择。指定不同区域的上传域名、备用域名、备用IP。
                                .zone(FixedZone.zone2) // 设置华南区域,指定不同区域的上传域名、备用域名、备用IP。 https://segmentfault.com/q/1010000008596429
                                .build();
                        UploadManager uploadManager = new UploadManager(config);
                        uploadManager.put("/sdcard/czgDownload/voice/voice001.amr"
                                , UUID.randomUUID().toString().replace("-", "") + ".amr", WechatAndHostParam.qiNiuUploadToken
                                , new UpCompletionHandler() {
                                    @Override
                                    public void complete(String key, ResponseInfo info, JSONObject response) {  //response ={"error":"incorrect region, please use up-z2.qiniup.com"}
                                        //res包含hash、key等信息,具体字段取决于上传策略的设置  回调中key:36d5895cba64403faf8b3ef8ea7c8cb0.amr
                                        if (info.isOK()) {
                                            Log.i("qiniu", "Upload Success");  //正确的:{"hash":"Ft-886ksoUqzTBhiUewWITF_mcnB","key":"14e357c7239b439188065d507b25bd1f.amr"}

                                            //http://q349xx31l.bkt.clouddn.com/14e357c7239b439188065d507b25bd1f.amr
                                        } else {
                                            Log.i("qiniu", "Upload Fail");
                                            //如果失败,这里可以把info信息上报自己的服务器,便于后面分析上传错误原因
                                        }
                                        Log.i("qiniu", key + ",\r\n " + info + ",\r\n " + response);

                                    }
                                },null);

                    }catch (Exception e){
                        Log.e(TAG,"上传到七牛云失败");
                    }
                }

七牛云对象存储/空间管理/文件管理

image.png image.png image.png
#访问url = 域名+上传返回的key
http://q349xx31l.bkt.clouddn.com/14e357c7239b439188065d507b25bd1f.amr

注意问题:

如果没用指定好区域返回错误如下
response ={"error":"incorrect region, please use up-z2.qiniup.com"}

        //————http上传,指定zone的具体区域——
        //Zone.zone0:华东
        //Zone.zone1:华北
        //Zone.zone2:华南
        //Zone.zoneNa0:北美
        //———http上传,自动识别上传区域——
        //Zone.httpAutoZone
        //———https上传,自动识别上传区域——
        //Zone.httpsAutoZone

参考文献:

牛云对象存储sdk
incorrect region, please use up-z2.qiniu.com

相关文章

网友评论

      本文标题:android 集成七牛云sdk

      本文链接:https://www.haomeiwen.com/subject/kphuactx.html