Amazon s3 代码名一个上传图像到S3 bucket权限

Amazon s3 代码名一个上传图像到S3 bucket权限,amazon-s3,codenameone,Amazon S3,Codenameone,来自codename one的Shai帮助我将图像上传到s3 bucket,我能够上传图像,我碰巧注意到,当我从浏览器访问图像时,我遇到了拒绝访问错误 图像在移动应用程序上加载正常,同一图像在web浏览器中抛出拒绝访问错误 这是我的代码: String strImage = Capture.capturePhoto(width, -1); String s3Bucket = "https://s3.amazonaws.com/MyBuckt/"; String fileName

来自codename one的Shai帮助我将图像上传到s3 bucket,我能够上传图像,我碰巧注意到,当我从浏览器访问图像时,我遇到了拒绝访问错误

图像在移动应用程序上加载正常,同一图像在web浏览器中抛出拒绝访问错误

这是我的代码:

   String strImage = Capture.capturePhoto(width, -1);
   String s3Bucket = "https://s3.amazonaws.com/MyBuckt/";
   String fileName = "Images/1234567";
   MultipartRequest rq = new MultipartRequest();
   rq.setUrl(s3Bucket);
   rq.addArgumentNoEncoding("key", fileName);
   rq.addArgument("acl", "public-read-write"); // here I give read-write access
   rq.addData("file", strImage, "image/jpeg");
   NetworkManager.getInstance().addToQueue();
当我启动S3浏览器时,我确实看到了该文件,当我单击该文件时,会弹出一条拒绝访问的消息。bucket和文件夹已被授予完全授予权限以及子文件夹

  • 图像由手机摄像头拍摄

非常感谢您的帮助。

经过研究,我找到了解决方案。希望它能帮助一些人。 解决方案:

   String strImage = Capture.capturePhoto(width, -1);
   String s3Bucket = "https://s3.amazonaws.com/MyBuckt/";
   String fileName = "Images/1234567";
   MultipartRequest rq = new MultipartRequest();
   rq.setUrl(s3Bucket);
   rq.addArgumentNoEncoding("key", fileName);
   //rq.addArgument("acl", "public-read-write"); // here I give read-write access
   rq.addArgument("acl", "bucket-owner-full-control");
   rq.addData("file", strImage, "image/jpeg");
   NetworkManager.getInstance().addToQueue();
我修改了acl访问级别,如下所示

rq.addArgument("acl", "bucket-owner-full-control");
从阅读资料中我了解到,上传的项目除了删除外,没有任何访问权限。通过此acl访问,现在可以读取文件

我从以下链接获得信息:


**感谢Shai的积极响应并尽可能提供帮助**

也许目录或存储桶本身对谁可以查看它们有限制?嗨Shai,感谢您的回复。所有用户都具有对文件夹和存储桶的读写权限。通过在S3浏览器中选择文件,未检查任何权限。我在文件夹中拖放了一个文件,我确实看到权限被选中了。不知道现在该怎么办。任何帮助都将不胜感激。非常感谢。