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
}

メモリ不足は、たとえば画像が正しい形式ではない場合など、より多くの例外に使用されると聞きました。しかし、どのアプリケーションでも画像を開くことができ、アップロードする前にファイル名を変更すると、全体が実際に機能すると思います。

キリル文字またはギリシャ語のアルファベットで名前が付けられたサンプル画像は次のとおりです: サンプル画像 サンプル画像

4

0 に答える 0