複数ファイルをアップロードした際にIEからだとErrorになったので覚書き。
<input type=”file”>でファイルをアップロードした際、
C#側はfile.FileNameで「hoge.jpg」というファイル名だけが取れることを期待して書いたが、IEからだと「C:\hoge.jpg」といった感じでフルパスが来る。
var files = context.Request.Files;
HttpPostedFile file = files[1];
// IEで場合によってフルパスが入る
var fileName = file.FileName;
// 両対応するためにPath.経由でファイル名を取得する。
var fileName = Path.GetFileName(file.FileName);
なのでIEを考慮するなら一回Path.GetFileName()を経由してファイル名だけに整える必要がある。
ChromeはFileNameだけなのに、、、
参考になったURL
IE でアップロードする際のファイル名
コメント