我的目标是用我的手机拍一张照片并将其存储在mongodb中。为此,我需要将图片转换为byte[]数组,并将其作为二进制数据存储在mongo数据库中。我的代码是**.NET MAUI**。我可以用相机拍摄图片,但无法转换为byte[]。有人能在这里为我提供一些指导吗?代码在所附图片中突出显示的行中失败,错误如下所示。错误显示**“因为jpg文件正被另一个进程使用。"**我尝试让线程休眠一段时间,但没有用。
dly7yett1#
你的using语句直到块的末尾才释放localFileStream。这就是为什么当你试图从文件中读取数据时,文件仍然在被使用(承认“被另一个进程”是误导性的)。你几乎肯定想在写完数据后立即关闭它--所以使用老式的using语句:
using
localFileStream
using (FileStream localFileStream = File.OpenWrite(localFilePath)) { await sourceScrem.CopyToAsync(localFileStream); }
1条答案
按热度按时间dly7yett1#
你的
using
语句直到块的末尾才释放localFileStream
。这就是为什么当你试图从文件中读取数据时,文件仍然在被使用(承认“被另一个进程”是误导性的)。你几乎肯定想在写完数据后立即关闭它--所以使用老式的using
语句: