ブラヴィッシモのいろいろな記事

【IE,Safari】C#(ASP.net)でファイル指定時のNotSupportedException

2016/8/3

こんにちは。開発チームのRです。

 

本日はC#(ASP.net)でのファイル名呼び出しについてお話ししようと思います。

 

以前フォームからの画像ファイル名を取得してサーバに保存しようとした際、以下のプログラムで問題が起こりました。

 

var picture = Request.Files["picture_upload"];
picture.SaveAs(Server.MapPath(
    string.Concat("~/images/", picture.FileName)
));

 

ChromeとFireFoxではうまくファイル名を取得できるのですが、IE11ではNotSupportedExceptionが発生してしまいました。

 

IEとSafariではFileNameをフルパスで呼び出すようで、以下のように修正する必要がありました。

 

var picture = Request.Files["picture_upload"];
picture.SaveAs(Server.MapPath(
    string.Concat("~/image/", Path.GetFileName(picture.FileName))
));

 

ブラウザごとに異なる処理があるとは予想外でした。
お困りの方は、ぜひ試してみてください。
参考:
asp.net mvc 4 – Server Map Path save problems when using IE or Safari – Stack Overflow
http://stackoverflow.com/questions/20632166/server-map-path-save-problems-when-using-ie-or-safari

Pocket

カテゴリ:ASP.net, C#, ブラヴィッシモのいろいろな記事, プログラミング

お問合せフォームへ
ブラヴィッシモTOP