Java AmazonS3多部分上传

Java AmazonS3多部分上传,java,android,amazon-s3,amazon,uploading,Java,Android,Amazon S3,Amazon,Uploading,我使用了多部分上传将图像上传到AmazonS3,如中所述 但是,上传的文件可以直接访问,无需访问密钥或任何东西。使用从特定文件的响应中获取的远程URL进行测试。 有没有办法限制对上传文件的访问? 还有一种方法可以在此处更改上载URL吗?如果我想添加文件夹和文件的链接?要管理对文件的访问,您需要按照此处的说明操作: 这里有更详细的介绍:是的,您可以使用下面的方法创建文件夹 AmazonS3 amazons3Client = new AmazonS3Client(new ProfileCr

我使用了多部分上传将图像上传到AmazonS3,如中所述

但是,上传的文件可以直接访问,无需访问密钥或任何东西。使用从特定文件的响应中获取的远程URL进行测试。 有没有办法限制对上传文件的访问?
还有一种方法可以在此处更改上载URL吗?如果我想添加文件夹和文件的链接?

要管理对文件的访问,您需要按照此处的说明操作:


这里有更详细的介绍:

是的,您可以使用下面的方法创建文件夹

     AmazonS3 amazons3Client = new AmazonS3Client(new ProfileCredentialsProvider());
     public void createFolder(String bucketName, String folderName)
        {
            try
            {

                        ObjectMetadata objectMetaData = new ObjectMetadata();
                        objectMetaData.setContentLength(0);
                        InputStream emptyContent = new ByteArrayInputStream(new byte[0]);
                        amazons3Client.putObject(new PutObjectRequest(bucketName, folderName + "/", emptyContent, objectMetaData));
            }
            catch (Exception exception)
            {
                LOGGER.error("Exception In Create Folder", exception);
            }

        }
访问权限您可以使用的政策,它将适用于特定于您的桶,请通过下面的链接 您可以允许特定IP访问。

您需要定义对Amazon s3 bucket中文件夹的访问权限,以便restricted@RajuSharma,那句话不正确。默认情况下,S3存储桶和对象是安全且不可访问的。如果某个对象可以意外地匿名下载,则用户在上载过程中或在bucket策略或ACL上犯了错误。您的评论暗示,出于某种原因,security.thnx需要“文件夹”来提供帮助。这很有帮助,加上这个就行了。request.setCannedACL(CannedAccessControlList.AuthenticatedRead);获取异常com.amazonaws.AmazonClientException:无法执行HTTP请求:读取超时。而不是AmazonS3 amazons3Client=new amazons3Client(new ProfileCredentialsProvider());使用你的AmazonS3客户端对象。是的,我做到了。我正在使用多部分上传。那么请求keyName是否会更改为foldername+“/”+key?是的,在上载时它会更改您必须使用folderName+“/”+Keythis worked tnx man,但上载后返回的文件路径就像5628是文件夹,它是%idk y