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

Android 关于七牛的上传图片遇到的问题

2017-04-20 16:23 323 查看
艹他大爷的 关于七牛传图片 n年以前就做过了,这次公司需求又要传图片,可是这次就出错了,返回的状态码为400,显示路径错误,做了差不多一天,用了反编译去改jar包路径等等 ,结果还是没用,后来有copy了很多demo,才发现只需要引入资源文件就可以了

地址是  https://github.com/qiniu/android-sdk?ref=developer.qiniu.com自己去下载
然后上传的时候一定要设置区域:

关键代码如下:

private void initdata() {
bmp = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
//上传配置
Configuration config = new Configuration.Builder()
.chunkSize(256 * 1024)  //分片上传时,每片的大小。 默认 256K
.putThreshhold(512 * 1024)  // 启用分片上传阀值。默认 512K
.connectTimeout(10) // 链接超时。默认 10秒
.responseTimeout(60) // 服务器响应超时。默认 60秒
.zone(Zone.zone2) // 设置区域,指默认 Zone.zone0 注:这步是最关键的 当初错的主要原因也是他 根据自己的地方选
.build();
UploadManager uploadManager = new UploadManager(config);

String key = "image_icon";
String token = "naNOMsG13DVGLU2CHruTaSzLm73yYRwNpVDAQdYb:JwFVgwdQzYXIzrQMKsXNCkplwD0=:eyJzY29wZSI6InVwaW1nIiwiZGVhZGxpbmUiOjE0OTI2Nzk1MTF9";
uploadManager.put(Bitmap2Bytes(bmp), key, token, new UpCompletionHandler() {
@Override
public void complete(String s, ResponseInfo responseInfo,
JSONObject jsonObject) {
if (responseInfo.isOK()) {
Log.e("success", "complete: ");
} else {
Log.e("fail", s + responseInfo + jsonObject);
}
Log.e("qiniu", "complete: ");

}
}, null);
}


public byte[] Bitmap2Bytes(Bitmap bm) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
return baos.toByteArray();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android