代码之家  ›  专栏  ›  技术社区  ›  Vague

将存储文件转换为字符串

  •  1
  • Vague  · 技术社区  · 6 年前

    我们需要在UWP应用程序中以字符串形式存储图像文件。计划如下:

    FileOpenPicker picker = new FileOpenPicker();
    picker.FileTypeFilter.Add(".png");
    StorageFile file = await picker.PickSingleFileAsync();
    byte[] fileBytes = File.ReadAllBytes(file.Path);
    string fileString = Convert.ToBase64String(fileBytes);
    

    byte[] fileBytes = File.ReadAllBytes(file.Path);
    

    投掷

    对于此练习,每个人都对该文件具有完全控制权限。我也把文件移到了不同的地方,包括一个U盘,但总是得到相同的例外。我想这是UWP而不是权限?

    如何在UWP应用程序中将图像文件保存为字符串?

    2 回复  |  直到 6 年前
        1
  •  2
  •   TheTanic Valentine    6 年前

    你会得到一个例外,因为在UWP中,你只能通过路径访问文件,路径在App包区域。

    IBuffer 延伸 ToArray :

     IBuffer buffer = await FileIO.ReadBufferAsync(file);
     string fileString = Convert.ToBase64String(buffer.ToArray());
    
        2
  •  0
  •   Jeong Yo Han    6 年前

    不能直接访问具有字符串路径的文件。在UWP中,您应该始终使用存储访问文件(文件、文件夹) check this
    要获取字节,可以使用FileIO类或Open Stream with StorageFile。