从Url上传文件到Amazon S3 [文件不存在错误]

时间:2012-02-15 16:46:05

标签: c# amazon-s3 amazon-web-services video-streaming cloud-hosting

目前我正在使用viddler进行不同的服务和视频上传。我也想在亚马逊s3服务器上进行内容备份服务。为了开发此服务,我使用了AWS SDK for .NET。当我尝试上传传递URL作为文件路径的文件时,它给出了以下错误:
"the specified file does not exist"

我的问题是:AWS SDK是否支持以编程方式从其他域上传到s3的内容或任何其他方法?

我的代码:

PutObjectRequest titledRequest = new PutObjectRequest();
titledRequest.WithMetaData("title", "the title")
//.WithContentBody("this object has a title")
.WithBucketName(bucketName)
.WithFilePath("http://download.microsoft.com/download/9/2/2/9222D67F-7630-4F49-BD26-        476B51517FC1/FileFormatConverters.exe") //does url support? 
.WithTimeout(3600000)
.WithReadWriteTimeout(3600000)
.WithKey("test.ext");

using (S3Response responseWithMetadata = client.PutObject(titledRequest))
{
}

1 个答案:

答案 0 :(得分:0)

上传到S3需要整个字节流和内容长度元数据集。您必须创建一个实时缓冲区,它从源URL接收数据并将其异步地传递给S3 PutObject请求。

其中一种方法是使用两个缓冲区来简化源中的字节流到集合块大小,这些大小可以用作分段上传的一部分。

SDK,我怀疑是否支持这一点,所以你必须使用对AWS服务的REST调用来实现它。