这可能是一个非常简单的问题,但当我们谈论流时,我总是感到困惑。 我正在尝试在我的Xamarin Forms项目的Android部分中打开一个文件。 我有一个Java.IO.File,我想将其转换为流,以便能够使用这个简单的函数将其发送到Azure Blob存储:
public async Task<string> UploadFileAsync(Stream stream)
{
await this.container.CreateIfNotExistsAsync();
var name = "Photo_" + Guid.NewGuid().ToString();
var fileBlob = container.GetBlockBlobReference(name);
await fileBlob.UploadFromStreamAsync(stream);
return name;
}
但是,我似乎无法使用Android部分中的StreamReader StreamReader或OutputStreamWriter。 有没有人遇到同样的问题? 谢谢!
答案 0 :(得分:3)
您应该只能使用StreamReader
课程。示例代码可能如下所示:
FileStream = new FileStream("photo.jpg", FileMode.Open, FileAccess.Read);
StreamReader r = new StreamReader(fs);
不要忘记在完成后丢弃它们。
有关如何上传到Azure容器的更多详细信息,请查看Xamarin documentation。