我有一个网站,用户可以在其中上传图片。我将图像以不同的名称保存到用户的文件夹中(新文件名是随机的)
保存后,我想打开它。问题是,如果原始名称是西里尔字母或希腊字母,我在尝试打开它时会出现内存不足异常(即使新名称是拉丁文)。图像通常很小,即使我拍摄图像,用拉丁字母重命名并上传它,也没关系,所以问题出在西里尔字符上,我想。
//I save the image here under new name
try
{
using (FileStream fs = new FileStream(Server.MapPath(nazevSouboru), FileMode.Open, FileAccess.Read))
{
//nazevSouboru is the new name, I tried open it directly from the file and from stream, the result is the same
System.Drawing.Image img = System.Drawing.Image.FromStream(fs);//.FromFile(Server.MapPath(nazevSouboru));
if (img != null)
{
//do something with the image
}
afuImportImage.Dispose();
img.Dispose();
}
}
catch (Exception ex)
{
//out of memory exception
}
我听说内存不足用于更多异常,例如当 imgae 格式不正确时。但是我可以在任何应用程序中打开图像,当我在上传之前重命名文件名时,整个想法实际上是有效的。!