小编spa*_*inz的帖子

在处理响应后使用Amazon S3响应流

我正在使用亚马逊SDK,我有一个方法可以为存储在Amazon S3服务中的对象返回一个Stream.

它包含这样的东西:

var request = new GetObjectRequest().WithBucketName(bucketName).WithKey(keyName);
using (var response = client.GetObject(request))
{
    return response.ResponseStream;
}
Run Code Online (Sandbox Code Playgroud)

显然,在执行此操作时,流不能从调用方法中读取,因为请求对象已被释放,并且在完成此操作时,它将关闭流.

我不想将文件下载到MemoryStream或FileStream.

如果我不使用using子句,垃圾收集器将在某个时候处置请求对象,所以我不能不使用它.

我要问的是,有没有办法将Stream包装或复制到另一个Stream中然后返回它而不必下载文件?

我正在使用.NET 3.5.

编辑:该方法继承自抽象类,调用方法不知道它与Amazon一起使用.所以它必须返回一个Stream.

c# asp.net stream amazon-s3

7
推荐指数
2
解决办法
6311
查看次数

AmazonS3 GetPreSignedUrlRequest max到期日期

我正在使用AmazonS3 .NET SDK生成预先签名的URL.他们工作正常但他们现在已经停止工作了.我曾经设定了一个接近2038年的过期日期,因为我想让它们成为永久性的永久性.我使用2038是因为该日期是一个纪元日期,并且存在2038年问题(http://en.wikipedia.org/wiki/Year_2038_problem).SDK不会限制您的日期,但似乎当您访问该URL时,它会为您提供拒绝访问,并显示以下消息:

<Message>Invalid date (should be seconds since epoch): 2147500800</Message>
Run Code Online (Sandbox Code Playgroud)

有没有人知道过期日期是否有任何限制?

sdk amazon-s3

6
推荐指数
1
解决办法
3164
查看次数

标签 统计

amazon-s3 ×2

asp.net ×1

c# ×1

sdk ×1

stream ×1