所以我想拿出代码将图像转换为base64版本。 但我得到一个异常抛出。系统IO文件未找到异常C#
System.IO.FileNotFoundException: 'C:\content\images\thumbs\0000001_camping_650.jpeg'
现在我正在使用本地机器上的网站副本,但图像存储在测试服务器上。所以我很确定这是问题来自何处。 此外,数据库不在本地,但在SQL服务器上。 SQL服务器和测试服务器都是面向公众的。
这是我的工作代码:
string base64String = string.Empty;
// Convert Image to Base64
using (var img = System.Drawing.Image.FromFile(Path.GetFullPath(pictureModel.ImageUrl))) // Image Path from File Upload Controller
{
using (var memStream = new MemoryStream())
{
img.Save(memStream, img.RawFormat);
byte[] imageBytes = memStream.ToArray();
// Convert byte[] to Base64 String
base64String = Convert.ToBase64String(imageBytes);
string ImageBase64 = base64String;
// return base64String;
}
}
调试输出这样的:
System.Diagnostics.Debug.WriteLine(pictureModel.ImageUrl);
System.Diagnostics.Debug.WriteLine(Path.GetFullPath(pictureModel.ImageUrl));
是这样的:
/content/images/thumbs/0000001_camping_650.jpeg
C:\content\images\thumbs\0000001_camping_650.jpeg
不知道如何去解决这个。 我也在使用一个存储桶存储库,所以content\images\thumbs\
目录不在存储库中。
我在本地计算机上的解决方案是C:\ projects \ test-website,所以我想我只需要弄清楚这个路径,它就可以用于测试和现场网站。
干杯
你可以调试和检查'pictureModel.ImageUrl'的值是什么? –
@Div感谢您的帮助,图片模型内置于nopcommerce,并返回文件名 –
好吧,是不是只有文件名或文件路径? –