asp.net 下载文件 怎么直接保存 不出现“打开” 按钮!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net 下载文件 怎么直接保存 不出现“打开” 按钮!相关的知识,希望对你有一定的参考价值。

能不能跳过这个弹出提问这一步 默认是直接是“保存”文件

做不到,这个动作是IE决定的,不是你的程序决定的

还有IE也不知道你保存到什么地方,这个对话框理论上一定会出现的。

如果你使用其他的浏览器可以达到这个效果(chrome,firefox等)

这些浏览器都可以设置默认的下载保存目录。

我没有测试过,可能IE内核的 傲游、360浏览器,可能达到你的目的
参考技术A 调用下面方法就可以了,这个只限于word文件,如果其他格式的请改这一行 Response.ContentType = "application/vnd.ms-word";
/**//**//**//// <summary>
/**//// 下载文件
/**//// </summary>
/**//// <param name="filename">文件物理地址</param>

protected void DownloadFile(string filename)

string saveFileName = "test.doc";
int intStart = filename.LastIndexOf("\")+1;
saveFileName = filename.Substring(intStart,filename.Length-intStart);
FileStream MyFileStream;
long FileSize;

MyFileStream = new FileStream(filename,FileMode.Open);
FileSize = MyFileStream.Length;

byte[] Buffer = new byte[(int)FileSize];
MyFileStream.Read(Buffer, 0, (int)FileSize);
MyFileStream.Close();

Response.AddHeader("Content-Disposition", "attachment;filename="+saveFileName);
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/vnd.ms-word";

Response.BinaryWrite(Buffer);
Response.Flush();
Response.Close();
Response.End();

参考技术B 据说 <meta name="DownLoadOptions" content="nosave"/> 这个可以
你可以试试,虽说是直接打开,但是还是有下载动作的,稍微懂点电脑的都知道去ie临时文件夹下可以找到
参考技术C Disposition", "attachment;filename="+saveFileName本回答被提问者采纳 参考技术D 这个没有办法!只能是这样的。

ASP.NET实现导出word,在IE6中可以下载保存但在IE8中却不能??

用asp.net做的一个导出word的功能,发布到IIS后访问;

用ie6中访问正常,在A窗体点击导出word,弹出(window.open)到B窗体;在B窗体选择导出的时候弹出另外一个窗体(假设为C窗体)进行下载,此时出现下载文件的对话框,可以选择“打开、保存、取消”。

但是用ie8访问的时候却不行,在A窗体点击导出word,弹出(window.open)到B窗体;在B窗体选择导出的时候,提示:是否允许弹出窗体,选了允许后b窗体一闪而过;再点导出还是一样,一直都不会出现下载文件的对话框;

不知道是不是ie8需要哪些设置还是什么原因??希望大家帮忙说说看。

用的是TransmitFile实现下载。将指定的文件直接写入 HTTP 响应输出流,而不在内存中缓冲该文件。
public static void DownLoad(HttpResponse rs, FileInfo fi, string strName)

rs.Clear();
rs.ClearHeaders();
rs.Buffer = false;
rs.ContentType = "application/octet-stream";
rs.AddHeader("Content-Disposition", "attachment;FileName=" + HttpUtility.UrlEncode(strName, System.Text.Encoding.UTF8));
rs.TransmitFile(fi.FullName);
rs.Flush();
rs.End();

我在IE8里面把安全级别调到最低,又把发布的地址添加到可信任站点中,但是还是不行。

还是安全性设置的问题。试着在IE8设置里调低安全级别。将你的地址加入安全地址。 参考技术A IE8的安全性能比IE6的要高

以上是关于asp.net 下载文件 怎么直接保存 不出现“打开” 按钮!的主要内容,如果未能解决你的问题,请参考以下文章

如何直接在网页中打开文件 不出现下载保存提示框!

ASP.NET实现导出word,在IE6中可以下载保存但在IE8中却不能??

在ASP.net(C#)中用LinkButton控件实现文件附件的下载,要求点击按钮之后,可直接下载保存

ASP.NET 中,实现download下载,弹出打开和保存对话框,不限制文件大小,跪求实现代码,谢谢了

Asp.net直接保存文件到客户端

asp.net 点击一下文件名或者一个下载按钮,将文件下载下来怎么做啊???