/ *捕获图像并将其传递给aws示例代码以上传到s3存储桶。* /
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent resultData) {
super.onActivityResult(requestCode, resultCode, resultData);
if (resultData != null) {
String[] projection = {MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projection, null, null, null);
int column_index_data = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToLast();
String uri = cursor.getString(column_index_data);
Bitmap bitmapImage = BitmapFactory.decodeFile(uri);
iv.setImageURI(parse(uri));
System.out.print(uri);
Log.e("Uri", String.valueOf(uri));
Upload_image upload = new Upload_image(activity);
upload.beginUpload(uri);
}
}
/ *使用Asynctask上传到s3作为主线程变得越来越重* /
class UploadFilesTask extends AsyncTask<String , Integer, String> {
String filepath;
public UploadFilesTask(String filepath){this.filepath = filepath;}
@Override
protected String doInBackground(String... params) {
File file = new File(filepath);
TransferObserver observer = transferUtility.upload(Constants.BUCKET_NAME, file.getName(),
file);
return null;
}
/ * logcat响应:当我尝试上传没有任何错误时失败
16:54:48.064 2424-2424/com.example.rinzinchoephel.drivervolley E/Uri: /storage/emulated/0/DCIM/Camera/IMG_20160921_165440968.jpg
[ 09-21 16:54:48.246 2424: 2424 W/ ]
Unable to open '/system/framework/prcui-config.jar': No such file or directory
09-21 16:54:48.246 2424-2424/com.example.rinzinchoephel.drivervolley W/art: Failed to open zip archive '/system/framework/prcui-config.jar': I/O Error
[ 09-21 16:54:48.248 2424: 2424 W/ ]
Unable to open '/system/framework/prcui-config.jar': No such file or directory
09-21 16:54:48.248 2424-2424/com.example.rinzinchoephel.drivervolley W/art: Failed to open zip archive '/system/framework/prcui-config.jar': I/O Error
09-21 16:54:48.259 2424-2424/com.example.rinzinchoephel.drivervolley D/CognitoCachingCredentialsProvider: Loading credentials from SharedPreferences
[ 09-21 16:54:48.267 2424: 2424 W/ ]
Unable to open '/system/framework/prcui-config.jar': No such file or directory
09-21 16:54:48.267 2424-2424/com.example.rinzinchoephel.drivervolley W/art: Failed to open zip archive '/system/framework/prcui-config.jar': I/O Error
[ 09-21 16:54:48.269 2424: 2424 W/ ]
Unable to open '/system/framework/prcui-config.jar': No such file or directory
09-21 16:54:48.269 2424-2424/com.example.rinzinchoephel.drivervolley W/art: Failed to open zip archive '/system/framework/prcui-config.jar': I/O Error
09-21 16:54:48.280 2424-4787/com.example.rinzinchoephel.drivervolley E/asyncfilePath: /storage/emulated/0/DCIM/Camera/IMG_20160921_165440968.jpg
09-21 16:54:48.280 2424-4787/com.example.rinzinchoephel.drivervolley E/asyncfilegetName: IMG_20160921_165440968.jpg
09-21 16:54:48.280 2424-4787/com.example.rinzinchoephel.drivervolley E/asyncTranUtility: com.amazonaws.mobileconnectors.s3.transferutility.TransferUtility@374bc1e
09-21 16:54:48.339 2424-2424/com.example.rinzinchoephel.drivervolley D/TransferService: Starting Transfer Service
09-21 16:54:48.909 2424-2424/com.example.rinzinchoephel.drivervolley D/TransferService: Network connected: true
09-21 16:54:48.909 2424-2424/com.example.rinzinchoephel.drivervolley I/Choreographer: Skipped 32 frames! The application may be doing too much work on its main thread.
09-21 16:54:48.910 2424-4788/com.example.rinzinchoephel.drivervolley D/TransferService: Loading transfers from database
09-21 16:54:48.912 2424-4788/com.example.rinzinchoephel.drivervolley D/TransferService: 0 transfers are loaded from database
09-21 16:55:48.969 2424-4788/com.example.rinzinchoephel.drivervolley D/TransferService: Stop self
答案 0 :(得分:3)
使用原生意图获取图像时,它将返回原始图像。图像尺寸太大(接近2MB),可以更好地压缩图像并上传。
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.PNG, 80, bytes);
更多细节请查看此链接: http://droidmentor.com/pick-image-from-gallery-or-camera/