无法将图像上传到aws s3

时间:2016-09-21 12:01:03

标签: android amazon-s3 android-asynctask

/ *捕获图像并将其传递给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

1 个答案:

答案 0 :(得分:3)

使用原生意图获取图像时,它将返回原始图像。图像尺寸太大(接近2MB),可以更好地压缩图像并上传。

ByteArrayOutputStream bytes = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.PNG, 80, bytes);

更多细节请查看此链接: http://droidmentor.com/pick-image-from-gallery-or-camera/