上传图片到七牛云服务器

首先去七牛云注册,然后获取 AccessKey 和 Secretkey 不知道怎么搞得直接去官网看文档注册一下。

然后是mainfest中添加权限

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

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

核心代码如下:

    private void uploadImg2QiNiu() {
        UploadManager uploadManager = new UploadManager();
        // 设置图片名字
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
        String key = "icon_" + sdf.format(new Date());
        String picPath = Environment.getExternalStorageDirectory().getPath() + "/Pictures/mengmeng.jpg";
        Log.i(TAG, "picPath: " + picPath);
        //Auth.create(AccessKey, SecretKey).uploadToken("zhongshan-avatar"),这句就是生成token
        uploadManager.put(picPath, key, Auth.create(AccessKey, SecretKey).uploadToken("myvideo"), new UpCompletionHandler() {
            @Override
            public void complete(String key, ResponseInfo info, JSONObject res) {
                // info.error中包含了错误信息,可打印调试
                // 上传成功后将key值上传到自己的服务器
                Log.e(TAG, "complete: key = http://oq3ngejwu.bkt.clouddn.com/"+key );

                Log.e(TAG, "complete: key = "+info.toString() );
                Log.e(TAG, "complete: key = "+info.response );
                Log.e(TAG, "complete: key = "+info.path );
                Log.e(TAG, "complete: key = "+info.isOK() );
                Log.e(TAG, "complete: key = "+info.port );
                Log.e(TAG, "complete: key = "+info.statusCode );
                if (info.isOK()) {
                    Log.i(TAG, "token===" + Auth.create(AccessKey, SecretKey).uploadToken("photo"));
                    String headpicPath = "http://ot6991tvl.bkt.clouddn.com/" + key;
                    Log.i(TAG, "complete: " + headpicPath);
                }
             }
        }, null);
    }
Auth.create(AccessKey, SecretKey).uploadToken("myvideo"));

这一句代码是相当关键, 是生成上传到七牛云服务器的token,其中Auth是一个工具类,我会在文末给出下载链接。其中代码里 myvideo是bucketName 也就是你在七牛云服务器上面创建的存储空间的名字。

demo下载

猜你喜欢

转载自blog.csdn.net/wzgbgz/article/details/80705559