我正在关注S3的亚马逊教程,但我无法下载文件并将其保存到Streaming Resources。相反,我正在下载文件内容。
ResultText.text = string.Format("fetching {0} from bucket {1}", SampleFileName, S3BucketName);
Client.GetObjectAsync(S3BucketName, SampleFileName, (responseObj) =>
{
string data = null;
var response = responseObj.Response;
if (response.ResponseStream != null)
{
using (StreamReader reader = new StreamReader(response.ResponseStream))
{
data = reader.ReadToEnd();
}
ResultText.text += "\n";
ResultText.text += data;
}
});
我知道我应该将response.ResponseStream
转换为文件,但我尝试了许多不同的解决方案,但我无法使其正常工作。
答案 0 :(得分:1)
我知道我应该将response.ResponseStream转换为File但....
您不会将其转换为您从中读取的文件并将内容写入文件。有很多内置的方法可以帮助解决这个问题,但步骤很简单。打开/创建文件流,然后从响应流写入文件流。
if (response.ResponseStream != null)
{
using (var fs = System.IO.File.Create(@"c:\some-folder\file-name.ext"))
{
byte[] buffer = new byte[81920];
int count;
while ((count = response.ResponseStream.Read(buffer, 0, buffer.Length)) != 0)
fs.Write(buffer, 0, count);
fs.Flush();
}
}