0

我有一个网站,用户可以在其中上传图片。我将图像以不同的名称保存到用户的文件夹中(新文件名是随机的)

保存后,我想打开它。问题是,如果原始名称是西里尔字母或希腊字母,我在尝试打开它时会出现内存不足异常(即使新名称是拉丁文)。图像通常很小,即使我拍摄图像,用拉丁字母重命名并上传它,也没关系,所以问题出在西里尔字符上,我想。

//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 格式不正确时。但是我可以在任何应用程序中打开图像,当我在上传之前重命名文件名时,整个想法实际上是有效的。!

带有西里尔字母或希腊字母名称的示例图像在这里: 示例图像 示例图像

4

0 回答 0