【发布时间】:2013-12-11 07:14:22
【问题描述】:
我使用了非常基本的代码从 Amazon S3 下载文件。 我尝试了两种不同的代码。
-
被评论的
GetObjectResponse抛出错误System.Xml.XmlException: There are multiple root elements. Line 2, position 2. at System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.Throw(String res, String arg) at System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res) at System.Xml.XmlTextReaderImpl.ParseDocumentContent() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlTextReader.Read()等等,
带有
TransferUtilityDownloadRequest的代码。我不确定这种方法是否正确。在Amazon Site 中找到了类似的示例,因此尝试了。
源代码
private static void AmazonS3Access()
{
string accessKey = "my_access_key";
string secretKey = "my_secret_key";
AmazonS3Config config = new AmazonS3Config();
config.ServiceURL = "s3.amazonaws.com";
AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(
accessKey,
secretKey,
config);
GetObjectRequest request = new GetObjectRequest();
request.BucketName = "bucket";
request.Key = "myfile.extension";
try
{
TransferUtilityDownloadRequest myfile = new TransferUtilityDownloadRequest();
myfile.WithBucketName(request.BucketName);
myfile.WithKey(request.Key);
myfile.WithFilePath("D:\\S3File\\myfile.extension");
//GetObjectResponse response = client.GetObject(request);
//response.WriteResponseStreamToFile("D:\\S3File\\myfile.extension");
}
catch (Exception Ex)
{
Console.WriteLine(Ex.ToString());
}
}
如何从 Amazon S3 下载对象。提前致谢。
注意:
- 我正在使用 VS 2010 和 .NetFramework 3.5
- 我正在使用 AmazonSDK.dll 旧版本
解决方案:
在程序中添加网络代理凭据后,它开始正常工作。
【问题讨论】:
标签: c# amazon-web-services amazon-s3