我的Android应用程序可以上传照片到摄像机直接拍摄的S3 AWS或从图像中选择。现在我想让应用上传视频库中的视频。但上传的文件大小始终为0Kb。将视频上传到S3 AWS从Android应用程序导致一个0Kb文件
这是视频采摘过程中的代码:
Intent videoPickerIntent = new Intent(Intent.ACTION_PICK);
videoPickerIntent.setType("video/*");
getActivity().startActivityForResult(videoPickerIntent, SELECT_VIDEO);
然后,我得到的视频路径(我测试过我得到出场一个VideoView内的视频在同一应用程序的路径)。 (例如:“/storage/emulated/0/DCIM/Camera/VID_20140903_163147.mp4”)
最后,我用一个PutObjectRequest在的AsyncTask,我上传照片的方式类似。
PutObjectRequest por = new PutObjectRequest(bucket, nameInAwsWithPath, videoPath);
por.setCannedAcl(CannedAccessControlList.PublicRead);
s3Client.putObject(por);
然后,在S3中,我可以看到一个文件,按预期命名,但是为空。 0 Kb大小。
怎么回事?
如果你有当您运行此代码,是否有任何异常或错误消息logcat的开?有可能是在单独的线程上抛出异常,使其不太明显。 – 2014-09-04 20:23:10
logcat中完全没有错误或警告。 putobject在try/catch里面,一切看起来都很顺利......但是我得到了AWS上的空文件。 – raul 2014-09-05 07:53:35
现在我宣布: PutObjectRequest por; 在doInBackground方法的开始,并在最后实例化它: por = new PutObjectRequest(bucket,nameInAwsWithPath,videoPath); 012.CalnedAcl(CannedAccessControlList.PublicRead); por.setCannedAcl(CannedAccessControlList.PublicRead); s3Client.putObject(por); 它工作 – raul 2014-09-05 10:36:28