Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS/Android无法计算md5哈希_Android_Amazon Web Services_Amazon S3_Md5 - Fatal编程技术网

AWS/Android无法计算md5哈希

AWS/Android无法计算md5哈希,android,amazon-web-services,amazon-s3,md5,Android,Amazon Web Services,Amazon S3,Md5,我正在定制Amazon的S3上传器示例程序,以满足我的需要。创建了一个bucket之后,我上传了一个视频到它 PutObjectRequest por = new PutObjectRequest(buckets.get(0).getName(), Constants.VIDEO_NAME, new java.io.File(filePath)); 当我运行上面的行时,我返回以下异常: Unable to calculate MD5 has: /storage/....../bla.mp4:

我正在定制Amazon的S3上传器示例程序,以满足我的需要。创建了一个bucket之后,我上传了一个视频到它

PutObjectRequest por = new PutObjectRequest(buckets.get(0).getName(), Constants.VIDEO_NAME, new java.io.File(filePath));
当我运行上面的行时,我返回以下异常:

Unable to calculate MD5 has: /storage/....../bla.mp4: open failed: EACCES (Permission Denied)
堆栈跟踪:

12-04 14:39:21.981  29372-29441/com.amazonaws.demo.s3uploader E/ERR﹕ com.amazonaws.AmazonClientException: Unable to calculate MD5 hash: /storage/emulated/0/DCIM/Camera/VID_20131203_180120.mp4: open failed: EACCES (Permission denied)
            at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1139)
            at com.amazonaws.demo.s3uploader.S3UploaderActivity$S3PutObjectTask.doInBackground(S3UploaderActivity.java:160)
            at com.amazonaws.demo.s3uploader.S3UploaderActivity$S3PutObjectTask.doInBackground(S3UploaderActivity.java:120)
            at android.os.AsyncTask$2.call(AsyncTask.java:288)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:841)
     Caused by: java.io.FileNotFoundException: /storage/emulated/0/DCIM/Camera/VID_20131203_180120.mp4: open failed: EACCES (Permission denied)
            at libcore.io.IoBridge.open(IoBridge.java:409)
            at java.io.FileInputStream.<init>(FileInputStream.java:78)
            at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1135)
            at com.amazonaws.demo.s3uploader.S3UploaderActivity$S3PutObjectTask.doInBackground(S3UploaderActivity.java:160)
            at com.amazonaws.demo.s3uploader.S3UploaderActivity$S3PutObjectTask.doInBackground(S3UploaderActivity.java:120)
            at android.os.AsyncTask$2.call(AsyncTask.java:288)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:841)
     Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied)
            at libcore.io.Posix.open(Native Method)
            at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
            at libcore.io.IoBridge.open(IoBridge.java:393)
            at java.io.FileInputStream.<init>(FileInputStream.java:78)
            at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1135)
            at com.amazonaws.demo.s3uploader.S3UploaderActivity$S3PutObjectTask.doInBackground(S3UploaderActivity.java:160)
            at com.amazonaws.demo.s3uploader.S3UploaderActivity$S3PutObjectTask.doInBackground(S3UploaderActivity.java:120)
            at android.os.AsyncTask$2.call(AsyncTask.java:288)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:841)
12-04 14:39:21.981 29372-29441/com.amazonaws.demo.s3上传程序E/ERR﹕ com.amazonaws.AmazonClientException:无法计算MD5哈希:/storage/simulated/0/DCIM/Camera/VID\u 20131203\u 180120.mp4:打开失败:EACCES(权限被拒绝)
位于com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1139)
位于com.amazonaws.demo.s3uploader.S3UploaderActivity$S3PutObjectTask.doInBackground(S3UploaderActivity.java:160)
位于com.amazonaws.demo.s3uploader.S3UploaderActivity$S3PutObjectTask.doInBackground(S3UploaderActivity.java:120)
在android.os.AsyncTask$2.call(AsyncTask.java:288)
位于java.util.concurrent.FutureTask.run(FutureTask.java:237)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
运行(Thread.java:841)
原因:java.io.FileNotFoundException:/storage/simulated/0/DCIM/Camera/VID_20131203_180120.mp4:打开失败:EACCES(权限被拒绝)
在libcore.io.IoBridge.open中(IoBridge.java:409)
位于java.io.FileInputStream。(FileInputStream.java:78)
位于com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1135)
位于com.amazonaws.demo.s3uploader.S3UploaderActivity$S3PutObjectTask.doInBackground(S3UploaderActivity.java:160)
位于com.amazonaws.demo.s3uploader.S3UploaderActivity$S3PutObjectTask.doInBackground(S3UploaderActivity.java:120)
在android.os.AsyncTask$2.call(AsyncTask.java:288)
位于java.util.concurrent.FutureTask.run(FutureTask.java:237)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
运行(Thread.java:841)
原因:libcore.io.ErrnoException:打开失败:EACCES(权限被拒绝)
在libcore.io.Posix.open中(本机方法)
在libcore.io.BlockGuardOs.open上(BlockGuardOs.java:110)
在libcore.io.IoBridge.open中(IoBridge.java:393)
位于java.io.FileInputStream。(FileInputStream.java:78)
位于com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1135)
位于com.amazonaws.demo.s3uploader.S3UploaderActivity$S3PutObjectTask.doInBackground(S3UploaderActivity.java:160)
位于com.amazonaws.demo.s3uploader.S3UploaderActivity$S3PutObjectTask.doInBackground(S3UploaderActivity.java:120)
在android.os.AsyncTask$2.call(AsyncTask.java:288)
位于java.util.concurrent.FutureTask.run(FutureTask.java:237)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
运行(Thread.java:841)
OS=4.4/KitKat,设备=Nexus 4


发生了什么事?

在KitKat中,未经许可,您无法读取外部存储


别像我一样。在尝试上载到S3之前,请检查文件是否存在

完整堆栈跟踪,设备版本。并且可能必须调用ActivityCompat.requestPermissions(…)