.net 文件下载弹出框形式,如果直接保存添加默认的保存路径

时间:2022-06-02 06:38:17
 服务器上一个文件夹Excel里存放文件,现在的情形是点击保存是保存到Downloads/;我想实现的是设置默认的保存路径,如D:\,即弹出框“保存,另存为"时点击保存则直接下载到D:\
现在代码如下:
 
string k="c:\\test.xls";//文件存放路径
System.IO.FileInfo file = new System.IO.FileInfo(k);

                    Response.Clear();

                    Response.Charset = "UTF-8";

                    Response.ContentEncoding = System.Text.Encoding.UTF8;

                    // 添加头信息,为"文件下载/另存为"对话框指定默认文件题名

                    Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));

                    // 添加头信息,指定文件大小,让浏览器能够显示下载进度

                    Response.AddHeader("Content-Length", file.Length.ToString());

                    // 指定返回的是一个不能被客户端读取的流,必须被下载

                    Response.ContentType = "Application/ms-excel";

                    // 把文件流发送到客户端

                    Response.WriteFile(file.FullName);

8 个解决方案

#1


这个。。 你在服务器端没法控制客户端的行为吧。

#2


浏览器中可以设置:
例如在Chrome中,浏览chrome://settings/ 
点击   显示高级设置...
可以修改  下载内容保存位置:

服务器端没法控制浏览器的这种行为。

#3


看你的程序应该是intranet的。
服务器端直接把文件保存到  "服务器上一个文件夹Excel"呢?

#4


引用 1 楼 findcaiyzh 的回复:
这个。。 你在服务器端没法控制客户端的行为吧。


那请问比如我电脑上是C:\\zzy\dowloads\xx;这种形式的,在导出文件时不能对此进行默认的设置吗?
那此种默认路径是怎么样设置的呢

#5


引用 3 楼 findcaiyzh 的回复:
看你的程序应该是intranet的。
服务器端直接把文件保存到  "服务器上一个文件夹Excel"呢?


这样虽然可以,但是这样的话就不能弹出框自定义保存路径了。

#6


引用 3 楼 findcaiyzh 的回复:
看你的程序应该是intranet的。
服务器端直接把文件保存到  "服务器上一个文件夹Excel"呢?


比如用户要下载文件到指定路径,有时直接点击保存。

#7


引用 4 楼 zengzhengyou 的回复:
Quote: 引用 1 楼 findcaiyzh 的回复:

这个。。 你在服务器端没法控制客户端的行为吧。


那请问比如我电脑上是C:\\zzy\dowloads\xx;这种形式的,在导出文件时不能对此进行默认的设置吗?
那此种默认路径是怎么样设置的呢


浏览器的默认下载路径是可以设置的,但是你没法在asp.net 的web 端做这件事。

#8


被折腾了好几天的东西终于被你给的方法解决了 太感谢了

#1


这个。。 你在服务器端没法控制客户端的行为吧。

#2


浏览器中可以设置:
例如在Chrome中,浏览chrome://settings/ 
点击   显示高级设置...
可以修改  下载内容保存位置:

服务器端没法控制浏览器的这种行为。

#3


看你的程序应该是intranet的。
服务器端直接把文件保存到  "服务器上一个文件夹Excel"呢?

#4


引用 1 楼 findcaiyzh 的回复:
这个。。 你在服务器端没法控制客户端的行为吧。


那请问比如我电脑上是C:\\zzy\dowloads\xx;这种形式的,在导出文件时不能对此进行默认的设置吗?
那此种默认路径是怎么样设置的呢

#5


引用 3 楼 findcaiyzh 的回复:
看你的程序应该是intranet的。
服务器端直接把文件保存到  "服务器上一个文件夹Excel"呢?


这样虽然可以,但是这样的话就不能弹出框自定义保存路径了。

#6


引用 3 楼 findcaiyzh 的回复:
看你的程序应该是intranet的。
服务器端直接把文件保存到  "服务器上一个文件夹Excel"呢?


比如用户要下载文件到指定路径,有时直接点击保存。

#7


引用 4 楼 zengzhengyou 的回复:
Quote: 引用 1 楼 findcaiyzh 的回复:

这个。。 你在服务器端没法控制客户端的行为吧。


那请问比如我电脑上是C:\\zzy\dowloads\xx;这种形式的,在导出文件时不能对此进行默认的设置吗?
那此种默认路径是怎么样设置的呢


浏览器的默认下载路径是可以设置的,但是你没法在asp.net 的web 端做这件事。

#8


被折腾了好几天的东西终于被你给的方法解决了 太感谢了