如何异步写入图像字节?

时间:2019-10-21 20:53:42

标签: c# uwp-xaml

我正在尝试使用Windows.Storage在本地目录中存储文件,但是在尝试存储第二个图像时出现错误

我正在使用Windows.Storage

async void ReceiveDecodedData(byte[] data, int width, int height)
{
   StorageFolder storageFolder = KnownFolders.PicturesLibrary;

   string filename = "sample" + ".jpg";

   StorageFile file = await storageFolder.CreateFileAsync(filename, CreationCollisionOption.OpenIfExists);
   await FileIO.WriteBytesAsync(file, data);

}

我想将字节写入图像而没有任何错误/异常。

异常:“该进程无法访问该文件,因为该文件正在被另一个进程使用。”

1 个答案:

答案 0 :(得分:0)

如果该方法未返回Task,那么您将无法在异步/等待模式下使用它。 JSteward是正确的,您应该用异步Task代替异步void。如果要在其他地方调用该函数,请创建该方法的同步版本并调用相同的基础函数。

How and when to use ‘async’ and ‘await’