- PR -

日本語タファイルのダウンロード

1
投稿者投稿内容
52
会議室デビュー日: 2006/08/18
投稿数: 6
投稿日時: 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();

と記述しています。


その結果ファイルのダウンロードボックスが表示され「開く」か「保存」を選択する事になるのですが、「保存」を選択した場合はうまく日本語名のまま保存されます。
しかし、「開く」を選択すると、「"文字化けしたファイル名"は見つかりません。」
というメッセージが表示され、ファイルが開きません。

対応策をご存じの方がいらっしゃれば、是非ご教授の程よろしくお願い致します。

platini
大ベテラン
会議室デビュー日: 2002/12/03
投稿数: 193
投稿日時: 2007-10-25 19:53
多少なりとも関係している情報とおもわれるので、
何かの参考になれば。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=17526&forum=7&2

それにしても 日本語タ ファイル って件名 のほうが
興味深々だよ。おまけにタイトルの(逆順)も意味不明。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2007-10-26 00:29
引用:

platiniさんの書き込み (2007-10-25 19:53) より:
多少なりとも関係している情報とおもわれるので、
何かの参考になれば。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=17526&forum=7&2

それにしても 日本語タ ファイル って件名 のほうが
興味深々だよ。おまけにタイトルの(逆順)も意味不明。


逆順は返信ページでは勝手につくから。
実際逆順になってるしね。
52
会議室デビュー日: 2006/08/18
投稿数: 6
投稿日時: 2007-10-26 11:20
platini様、ぶさいくろう様

情報提供、ご指摘ありがとうございます。
参考にさせて頂きます。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 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
52
会議室デビュー日: 2006/08/18
投稿数: 6
投稿日時: 2007-10-26 13:18
べる 様
やはり日本語を使わないという方法が一番なのでしょうね。
アップロードするときにチェックするように仕様変更するように致します。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)