- - PR -
IE7(Beta2)を使用すると、HttpPostedFile.FileNameで絶対パスが取得できない
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-05-10 10:35
いつもお世話になっています。
OS:Windows XP SP2 VS2003(C#,ASP.NET)でWebアプリケーションを作成中です。 ファイルをアップロードするような画面を試しに作っており、 <input type="file" id="upfile" runat="server"> 上記のようなコントロールを配置して、アップロードが完了したら、アップロードしたファイルの絶対パスを upfile.PostedFile.FileName で取得して表示するようにしていました。 IE6では絶対パスが取得されていたのですが、IE7(Beta2)ではファイル名しか取得できなくなりました。 商品として作っていた訳ではないので、特に(私にとって)解決しなければならない問題ではないのですが、 「クライアント上のファイルの完全修飾名を取得します。」 とリファレンスで謳っている以上、これは問題なのかな、と。 .NET Framework 2.0 以上ではこのような現象は起こらないのでしょうか。 何となくもやもやします。 [HttpPostedFile.FileName プロパティ] http://msdn2.microsoft.com/ja-jp/library/system.web.httppostedfile.filename.aspx | ||||||||
|
投稿日時: 2006-05-10 10:52
ベータ版ですから、Product Feedback Center にあげるのが適切だと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-05-10 11:04
おそらくIE7のバグではなく、セキュリティの観点からそのような仕様にしたのではないでしょうか。
Firefoxなども絶対パスではなくファイル名しかサーバーに送信しません。 クライアント側のディレクトリ構成をサーバーに教えるのは好ましいとは思えませんし。。。 | ||||||||
|
投稿日時: 2006-05-10 11:07
英語版リリースノートのFile Select Controlの項を読もう。
http://msdn.microsoft.com/ie/releasenotes/default.aspx ファイル名しか取得できないのは、IE7β2の仕様です。パス名にはユーザーIDが含まれる事が多いから、あえて送信しないように修正したのでしょう。 _________________ 甕星 <mikahosi@abox9.so-net.ne.jp> http://blogs.msmvp.jp/mikahosi/ | ||||||||
|
投稿日時: 2006-05-10 11:43
もしかしたらとは思っていたのですが、仕様だったのですね。 申し訳ありません、リリースノートを読んでいなかった(……)ためのポカ投稿でした。
ファイルのアップロード間違いなどを確認するのに丁度良いかと思っていたのですが、確かにセキュリティの観点からだと外に見せたくない情報ですね。 ご教示ありがとうございます。 | ||||||||
|
投稿日時: 2006-05-13 21:46
http://blogs.wankuma.com/jitta/archive/2006/03/08/21735.aspx
Opera でも、ファイル名しか渡りません。 追加:JavaScript の方でもとれません。 [ メッセージ編集済み 編集者: Jitta 編集日時 2006-05-13 21:47 ] |
1