我已使用多部分上传将图片上传到Amazon S3,如documentation中所述。
但是上传的文件可以直接访问而无需访问密钥或任何内容。使用从特定文件的响应获得的远程URL进行测试。 有没有办法限制对上传文件的访问? 还有一种方法可以在这里更改上传URL,如果我想添加文件夹和文件?
答案 0 :(得分:1)
要管理对文件的访问权限,您需要按照此处的说明操作:http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
此处详细介绍:http://docs.aws.amazon.com/AmazonS3/latest/dev/intro-managing-access-s3-resources.html
答案 1 :(得分:1)
是的,您可以使用以下方法创建文件夹。
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访问。 http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html