![](/img/trans.png)
[英]Accessing AWS S3 bucket from asp.net mvc application give 403 error
[英]Deleting a file from a sub directory of an AWS S3 bucket using asp.net
我想删除位于路径上的文件: bucket1/dir1/dir2/file.png
我所做的代码:
public bool DeleteFileFromS3(string bucketName, string directoryInBucket, string subDirectoryInDirectory, string fileNameInS3)
{
IAmazonS3 client = new AmazonS3Client(RegionEndpoint.USEast2);
var BucketName = "";
if (directoryInBucket == "" || directoryInBucket == null)
{
BucketName = bucketName; //no subdirectory just bucket name
}
else
{ // subdirectory and bucket name
BucketName = bucketName + @"/" + directoryInBucket + @"/" + subDirectoryInDirectory;
}
var objectName = fileNameInS3;
client.DeleteObject(BucketName, objectName);
return true; //indicate that the file was sent
}
但是,这不起作用。
经过一番研究,我发现 AWS 文件系统是不同的。 它是基于对象的,文件存储为带有键的对象。 但是,我找不到一个示例,该示例使用位于存储桶子目录中的文件的密钥,然后使用它们将其删除。 请给我一些建议。
BucketName
应该只包含存储桶的名称。
ObjectName
应包含 object 的名称,以及 object的完整路径。
例如:
BucketName = 'my-bucket'
ObjectName = 'invoices/january/foo.txt'
这是因为 Amazon S3 并没有真正的目录,即使它“似乎”拥有它们。 完整路径是 object 名称(“密钥”)的一部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.