- PR -

ダウンロード時の長いファイル名について

1
投稿者投稿内容
みやぼん
常連さん
会議室デビュー日: 2003/09/08
投稿数: 33
投稿日時: 2004-11-18 20:04
いつもお世話になっております。
宮崎です。

ファイルがダウンロードできるHTMLのページを作成したのですが、
ファイル名が長い場合、途中で切れてしまいます。
 AAAA0000 ああああああああああああ【あああ】 .rep
といったファイルをダウンロードさせる場合
 AAAA0000 ああああああああああああ【ああ .rep
といった感じで
(ファイルを保存する際に)ファイル名が切れて出力されます。
どうして切れてしまうのでしょうか?
Apachで試したところファイル名が切れる事は無かったのですが。。。
[開発環境]
 Windows2003サーバー IIS6.0
Visual Studio.NET2003
 
Moo
大ベテラン
会議室デビュー日: 2004/04/12
投稿数: 118
お住まい・勤務地: 地球・港
投稿日時: 2004-11-20 10:09
以下のようなコードでダウンロードをさせましたが
ファイル名が途切れることはありませんでした。
(100文字でも途切れませんでした)
環境:WindowsXPSP2,ASP.NET1.1,C#(WebMatrix-cassini)
コード:
void Button1_Click(object sender, EventArgs e) {
    Response.AddHeader("Content-Disposition","attachment;filename=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.csv");
    Response.ContentType = "application/octet-stream";
    Response.Write("todo:ここをファイルを作成or取得するする処理に置き換えてください。");
    Response.End();
}

みやぼん
常連さん
会議室デビュー日: 2003/09/08
投稿数: 33
投稿日時: 2004-11-22 09:22
いつもお世話になっております。
宮崎です。
ご返信ありがとうございます。
上記の通りにやってみたところ、ファイル名が切れることなく
処理が可能でした。

私が行っていた方法は、
ファイルは固定で、サーバー上に配置してあったものなので
HTMLの<A href="ファイル名">でファイルを指定して
ダウンロードさせておりました。
この方法ですと、
 ローカルでHTMLファイルをIE上で起動した場合
  (IEのアドレスバーにC:\・・・・・.htmlの出ている場合)
はファイル名が切れずに落とされるのですが、
 IISを通して(表現がまずいかもしれませんが。。)
  (IEのアドレスバーにhttp://サーバー名/・・・・.htmlの出ている場合)
はファイル名が切れてしまって上手くダウンロードできませんでした。
この事から考えると
<A>タグでファイルにリンクを張り
ダウンロードさせるはまずいのでしょうか?
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2004-11-22 09:54
日本語ファイル名とか、ウイルス監視プロが ガード
しているのかもしれません。
=============================== 追加
Windows XP Service Pack 2 で、
長いファイル名が渡されたときに
カスタム プログラムが期待どおりに動作しな
http://support.microsoft.com/default.aspx?scid=kb;ja;886187

[ メッセージ編集済み 編集者: MMX 編集日時 2004-11-24 10:11 ]
1

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