1

我正在开发一个将文件上传到 s3 存储桶的应用程序,我想使用适用于 .net 的 aws sdk 列出对象及其上传日期。有没有这样做的代码?

4

1 回答 1

3

UPD:不幸的是,S3 不存储对象的上传日期。它可以为您提供 lastModifiedDate ,如果对象在上传后没有被修改,则它只等于“上传日期”。

为了获得上传日期,您应该在上传期间将其与对象一起保存:

                var putRequest = new PutObjectRequest
                {
                    BucketName = bucketName,
                    Key = keyName,
                    FilePath = filePath,
                    ContentType = "text/plain"
                };
                putRequest.Metadata.Add("x-upload-date", "someUploadDate");

然后从对象元数据中读取

                GetObjectRequest request = new GetObjectRequest
                {
                    BucketName = bucketName,
                    Key = keyName
                };
                using (GetObjectResponse response = await client.GetObjectAsync(request))
                using (Stream responseStream = response.ResponseStream)
                using (StreamReader reader = new StreamReader(responseStream))
                {
                    string uploadDate = response.Metadata["x-upload-date"]; 
                }
于 2019-05-03T13:10:14.130 回答