- - PR -
ASP.NET ファイルダウンロード時に0バイトになる。
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-01-17 00:08
現在、VisualStudio2005を使用してWebプログラムを作成しています。
AP Server上にあるファイル(Word)をボタンを押下するとダウンロードする機能を 作成しているのですが、ファイルのダウンロード画面で「保存」を選択すると、 ファイルサイズが0バイトとなってしまいます。 色々と調べて、以下の方法を試してみたのですが、うまくいきません。 ・Web公開するフォルダにASP.NET実行ユーザー(NETWORK SERVICE)の 権限を追加。 ・MetaBase.xmlの内容チェック (ダウンロードファイルは数10KBなので問題ないはず) 開発PC(WinXpPro SP2)ではできるので、IISのセキュリティ関係ではないかと思う のですが、原因が特定できていません。 ヒントや解決方法をご存知の方がいましたら、ご教授ください。 Win2003Server R2 IIS6.0 VisualStudio2005(C#) ----- ボタン押下時のソース ------------------------------------- protected void Button1_Click(object sender, EventArgs e) { string phyPath = Server.MapPath("~/upload/WordTest.doc"); if (!File.Exists(phyPath)) { AlertMessage(phyPath + " File Nothing!!", MsgType.OK); return; } FileInfo fileInfo = new FileInfo(phyPath); Response.Clear(); Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(fileInfo.Name)); Response.AddHeader("Content-Length", "attachment; filename=" + fileInfo.Length.ToString()); Response.ContentType = "application/msword"; Response.WriteFile(fileInfo.FullName); Response.End(); Response.Flush(); } ----- ボタン押下時のソース ------------------------------------- | ||||||||
|
投稿日時: 2008-01-17 09:52
わざわざ Content-Length ヘッダを追加して、しかも内容がおかしいんですけど。 そもそもこの行不要では?
| ||||||||
|
投稿日時: 2008-01-17 10:01
ソースをコピペしたら再現しましたが、まるくさんのおっしゃる箇所をコメントアウトしたら正常動作しましたよ。
| ||||||||
|
投稿日時: 2008-01-17 13:14
まるくさん、pitfallさん、アドバイスありがとうございます。
まるくさんのご指摘の箇所をコメントアウトしたら、ファイルダウンロードが できました。 ありがとうございました。 |
1