问题描述
我在服务器上生成了一个excel文件,然后又知道这个文件在服务器上的具体位置,现在想实现客户端下载该文件,就是弹窗选择下载路径然后下载那种,下载之后自动删除服务器上的这个文件?请问实现具体代码,现在在VS上调试,各种方法试尽了,怎么都弹不出下载对话框,我是用AJAX提交在服务器端生成的excel,生成成功了,现在不知道怎么下载然后删除,求各位帮帮忙,我这个问题纠结了一周了!
解决方案
解决方案二:
新开个下载页面在respons的header中加入以下属性Content-type:application/octet-stream//可选“Content-Disposition:attachment;filename="+下载的文件名)这样浏览器就会直接打开下载的保存窗口下载完成和删除文件稍微麻烦点,因为不好判断用户是否下载完成,不过可以采用在流下载方式,服务端输出文件流后等一段时间后删除文件。
解决方案三:
用MVC具体怎么写那个下载页面的后台和前台就是Controller和View内怎么写?能再具体点吗,谢谢!
解决方案四:
看看:
解决方案五:
引用3楼insus的回复:
看看:
做个记号
解决方案六:
publicActionResultDownloadFile(){stringfilePath="这里是文件路径";returnFile(filePath,"application/vnd.ms-excel");}
解决方案七:
用相对路径路径路径
解决方案八:
这个应该跟MVC无关把你知道了文件的名字,只要在前台使用window.open打开文件,不就自动下载了么,不要屏蔽浏览器的弹窗下载功能。如果需要删除文件,在window.open之后,再调用一个删除的action,把文件删了就行了
解决方案九:
客户端下载后怎么“自动”删除服务器上的文件?