2017-04-11 87 views
1

这可能是一个非常简单的问题,但当我们谈论流时,我总是感到困惑。 我想在我的Xamarin Forms项目中的Android部分打开一个文件。 我有我想转换成流的java.io.File,以便能够将其与简单的函数发送到Azure的Blob存储:Xamarin格式 - 打开文件为流

 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; 
     } 

不过,我似乎无法成为能够使用StreamReader或OutputStreamWriter从Android部件中使用StreamReader,并使用 。 有没有人遇到同样的问题? 谢谢!

+1

您应该只能使用StreamReader。你为什么认为这不起作用? –

+0

我的确使用StreamReader ...我的不好。 不知道我上次做错了什么。 –

+0

已将其更新为供将来参考的答案。 –

回答

2

您应该可以使用StreamReader类。示例代码可能如下所示:

FileStream = new FileStream("photo.jpg", FileMode.Open, FileAccess.Read); 

StreamReader r = new StreamReader(fs); 

不要忘记在完成后处理它们。

有关如何上传到Azure容器的更多详细信息,请查看Xamarin documentation