无法从字符串转换为System.IO.Stream

时间:2016-07-04 09:20:08

标签: xamarin.forms

这里是我在Xamarin Forms中的StreamReader代码我想要的只是读取一个文件并将其转换为字节数组但是当我尝试这个代码时我只是得到这个错误,它无法从字符串转换为System.IO .Stream

        using (var sr = new StreamReader(filename))
        {
            buffer = new byte[(int)sr.BaseStream.Length];
            await sr.ReadAsync(buffer, 0, (int)sr.BaseStream.Length);
       }

2 个答案:

答案 0 :(得分:0)

StreamReader根据现有Stream进行操作。但您仍然需要首先使用设备操作系统打开或创建该基础流。在每个平台上执行此操作的过程略有不同,因此您无法将该部分代码放入PCL项目中。

请参阅此处标题为“保存和加载文件”的文档部分:https://developer.xamarin.com/guides/xamarin-forms/working-with/files/

答案 1 :(得分:0)

一种方法是使用xamarin依赖服务并使用FileStream读取字节

public byte[] ImageToBinary(string imagePath)
    {

        FileStream fileStream = new FileStream(imagePath, FileMode.Open, FileAccess.Read);
        byte[] buffer = new byte[fileStream.Length];
        fileStream.Read(buffer, 0, (int)fileStream.Length);
        fileStream.Close();
        return buffer;
    }