xamarin MAUI:无法将相机捕获的图像转换为byte[]数组以将其发送到mongo db

jtw3ybtb  于 2022-12-07  发布在  Go
关注(0)|答案(1)|浏览(124)

我的目标是用我的手机拍一张照片并将其存储在mongodb中。为此,我需要将图片转换为byte[]数组,并将其作为二进制数据存储在mongo数据库中。我的代码是**.NET MAUI**。我可以用相机拍摄图片,但无法转换为byte[]。有人能在这里为我提供一些指导吗?代码在所附图片中突出显示的行中失败,错误如下所示。错误显示**“因为jpg文件正被另一个进程使用。"**
我尝试让线程休眠一段时间,但没有用。

dly7yett

dly7yett1#

你的using语句直到块的末尾才释放localFileStream。这就是为什么当你试图从文件中读取数据时,文件仍然在被使用(承认“被另一个进程”是误导性的)。你几乎肯定想在写完数据后立即关闭它--所以使用老式的using语句:

using (FileStream localFileStream = File.OpenWrite(localFilePath))
{
    await sourceScrem.CopyToAsync(localFileStream);
}

相关问题