- - PR -
日本語タファイルのダウンロード
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-10-25 19:25
いつもお世話になっております。
VS2005、C#でweb開発を行っております。 今回、ユーザから任意のファイルをアップロードしてもらい、それを他のメンバーで共有する仕組みを構築しております。 当然ファイル名に日本語が入りますし、拡張子も不定です。 そこで、 Response.AppendHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("名前.xls")); Response.ContentType = "application/octet-stream-dummy"; Response.Clear(); Response.WriteFile(@"C:\TEST\名前.xls"); Response.End(); と記述しています。 その結果ファイルのダウンロードボックスが表示され「開く」か「保存」を選択する事になるのですが、「保存」を選択した場合はうまく日本語名のまま保存されます。 しかし、「開く」を選択すると、「"文字化けしたファイル名"は見つかりません。」 というメッセージが表示され、ファイルが開きません。 対応策をご存じの方がいらっしゃれば、是非ご教授の程よろしくお願い致します。 | ||||
|
投稿日時: 2007-10-25 19:53
多少なりとも関係している情報とおもわれるので、
何かの参考になれば。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=17526&forum=7&2 それにしても 日本語タ ファイル って件名 のほうが 興味深々だよ。おまけにタイトルの(逆順)も意味不明。 | ||||
|
投稿日時: 2007-10-26 00:29
逆順は返信ページでは勝手につくから。 実際逆順になってるしね。 | ||||
|
投稿日時: 2007-10-26 11:20
platini様、ぶさいくろう様
情報提供、ご指摘ありがとうございます。 参考にさせて頂きます。 | ||||
|
投稿日時: 2007-10-26 11:52
これはややこしい問題ですね。お勧めは、日本語を使わない、でしょうか。
どうせダイアログでユーザが指定できるんだから。 RFC通りにやればFileFox(2.0?)では大丈夫だけどIE6ではだめ。 IEで大丈夫にするには filename=URLエンコードしないShift_JIS文字列 を送る必要があり、ASP.NET2.0ではresponseHeaderEncodingで対応できるが、 デバッグサーバでは正常に機能しない(IISでは平気らしいが試していない) http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=713843&SiteID=7 http://support.microsoft.com/default.aspx?scid=kb;ja;436616 | ||||
|
投稿日時: 2007-10-26 13:18
べる 様
やはり日本語を使わないという方法が一番なのでしょうね。 アップロードするときにチェックするように仕様変更するように致します。 ありがとうございました。 |
1