首先去七牛云注册,然后获取 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 也就是你在七牛云服务器上面创建的存储空间的名字。