我刚开始学习如何将文件和图像上传到android中的s3存储桶。我已经能够学习如何上传文件并且它可以工作(我在我的桶中看到它),然而,问题是它保存为无法打开的文件,而不是图像。
我从onActivityResult得到了这样的uri:
Uri selectedImg=data.getData();
String[]filePathColumn={MediaStore.Images.Media.DATA};
Cursor cursor=getContentResolver().query(selectedImg,filePathColumn,null,null,null);
cursor.moveToFirst();
int columnIndex=cursor.getColumnIndex(filePathColumn[0]);
imgString=cursor.getString(columnIndex);
使用' imgString'创建文件变量:
File imageFile = new File(imgString);
然后我将imageFile传递给s3上传方法:
TransferObserver observer = transferUtility.upload(
MY_BUCKET, objectkey, imageFile);
它确实上传了。但是,当我进入存储桶时,它不会保存为图像(例如' imageFile.jpg'),而是作为无法读取或访问的文件(' imageFile') 。我究竟做错了什么?我应该通过文件扩展名让桶知道它的图像吗?我在网上查看但这似乎并不重要,加上uri确实包含.jpg(或.png)扩展名,所以我不确定为什么它似乎不起作用