简体   繁体   English

Xamarin 表单 - 以流形式打开文件

[英]Xamarin forms - Open file as stream

This might be a very simple question but I'm always confused when we're talking about streams.这可能是一个非常简单的问题,但当我们谈论流时,我总是感到困惑。 I'm trying to open a file in my Xamarin Forms project in the Android part of it.我正在尝试在它的 Android 部分的 Xamarin Forms 项目中打开一个文件。 I have a Java.IO.File which I would like to convert into a stream to be able to send it to an Azure Blob Storage with that simple function :我有一个 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;
        }

However, I can't seem to be able to use StreamReader from the Android part with StreamReader or OutputStreamWriter.但是,我似乎无法将 Android 部分的 StreamReader 与 StreamReader 或 OutputStreamWriter 一起使用。 Did anyone encounter the same issue ?有没有人遇到过同样的问题? Thank you !谢谢 !

You should be able to just use the StreamReader class from System.IO.您应该可以只使用 System.IO 中的StreamReader类。 Sample code could look something like this:示例代码可能如下所示:

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

StreamReader r = new StreamReader(fs);

Don't forget to dispose them after you are done.完成后不要忘记处理它们。

For more detail on how to upload to Azure containers, check out the Xamarin documentation .有关如何上传到 Azure 容器的更多详细信息,请查看Xamarin 文档

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM