首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Response.TransmitFile()无法传输空文件

Response.TransmitFile()无法传输空文件
EN

Stack Overflow用户
提问于 2015-08-14 16:18:13
回答 1查看 555关注 0票数 0

我在GridView中实现了一个列,允许用户在单击文件名时下载文件(文件存储在我的项目的Uploads文件夹中)。

当文件中有一些数据时,代码工作得很好,例如,用户可以点击文件,它将被下载,但当用户点击一个空的文件(如空的.docx文件)时,会显示一个空白页面,而不是下载文件。

代码如下:

代码语言:javascript
复制
else if (e.CommandName == "Download")
        {
            Response.Clear();

            if (File.Exists(Server.MapPath("~/Uploads/") + e.CommandArgument))
            {               
                Response.ContentType = "application/octet-stream";
                Response.AppendHeader("Content-Disposition", "filename=" + e.CommandArgument.ToString());
                Response.TransmitFile(Server.MapPath("~/Uploads/") + e.CommandArgument);
                Response.End();
            }
            else
            {
                lblMessage.ForeColor = System.Drawing.Color.Red;
                lblMessage.Text = "File Not Found";                
            }           
        }

我已经在Chrome,Mozilla和IExplorer上测试过了。

EN

回答 1

Stack Overflow用户

发布于 2016-02-23 06:06:34

您需要更改此行:

代码语言:javascript
复制
Response.AppendHeader("Content-Disposition", "filename=" + e.CommandArgument.ToString());

对于这一条:

代码语言:javascript
复制
Response.AppendHeader("Content-Disposition", filename=\"" + e.CommandArgument.ToString()) \"";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32005401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档