首页 新闻 会员 周边 捐助

asp.net mvc <a>标签下载文件?

0
悬赏园豆:5 [已解决问题] 解决于 2014-01-16 16:10

asp.net mvc 一个下载链接释放到客户端是a标签,其href属性是文件的路径,如果是txt或jpg这种文件,点击链接不是弹出下载框而是直接在窗口显示,如果是doc或其他文件,就会弹出下载框。怎样才能使所有文件点击都能弹出下载框而不直接打开呢?

hslgmq的主页 hslgmq | 初学一级 | 园豆:29
提问于:2014-01-12 14:22
< >
分享
最佳答案
0

你这样不行,下载文件分两种,一种是动态文件,一种是静态文件。静态是这个链接确定是一个文件地址:http://.../abc.zip这种。一种是download.asp?id=1233这种。后者是可以控制的,比如只有登录用户可以下载,当用户访问这个页面时你只要Response.WriteFile就可以,如果不管什么类型都希望客户端当作附件下载就需要在header里加Content-Disposition,将其值设置为attachment;filename='指定的下载文件名'

收获园豆:5
空明流光 | 初学一级 |园豆:111 | 2014-01-12 17:17

不太清楚

hslgmq | 园豆:29 (初学一级) | 2014-01-12 17:19

@hslgmq: 如果你啥都没听懂,那一两句也说不清。你网上搜这个Content-Disposition

空明流光 | 园豆:111 (初学一级) | 2014-01-12 17:25

@沧海一杰: 下载文件和MVC关系不大,和使用的语言有关系,参考http://www.cnblogs.com/hulang/archive/2013/02/27/2934640.html

空明流光 | 园豆:111 (初学一级) | 2014-01-12 17:28

@沧海一杰: 要使用这个你可能要借助隐藏的iframe

空明流光 | 园豆:111 (初学一级) | 2014-01-12 17:30

@沧海一杰: 你可以在每一个A标签的地方放一个隐藏的Iframe,隐式实现用第二种方法下载,这种方式可以实现你要的功能。

空明流光 | 园豆:111 (初学一级) | 2014-01-12 18:18

@沧海一杰: 给个示例看看

hslgmq | 园豆:29 (初学一级) | 2014-01-12 21:01

@hslgmq: 登录百度网盘,上传一张照片,点下载就可以实现。用fiddler监视它就可以看到,或者115网盘或微云或者csdn的文件下载,这块使用的是http协议,只与html有关,与其它语言无关的。

空明流光 | 园豆:111 (初学一级) | 2014-01-12 21:59
其他回答(5)
0

浏览器支持的文件类型就会直接打开,没办法的,除非右键另存为。

小城故事 | 园豆:526 (小虾三级) | 2014-01-12 22:02

此话差矣,你去看看百度网盘里的,都可以产生下载对话框,不管是什么扩展名

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2014-01-12 22:03
0

<a href="http://192.168.1.254:10080/Software/test.exe" >下载</a>

各种文件扩展不可以吗?

aehyok | 园豆:1212 (小虾三级) | 2014-01-13 10:17
0

用 Action 在服务器端生成 FileResult 就可以了。

geass.. | 园豆:1821 (小虾三级) | 2014-01-13 10:45
0

不明觉厉!小学生来看看!

大楚打码人 | 园豆:4313 (老鸟四级) | 2014-01-13 11:21
0

url相应的action可以实现下载:

[ValidateInput(false)]
[CheckLoginFilter]
public FilePathResult DownloadFile(string fileName,string mineType)//相对路径及完整文件名(有后缀)
{
      string path = AppDomain.CurrentDomain.BaseDirectory + fileName;
      return File(path, mineType);
}
 
p.s:
常见的MIME类型

超文本标记语言文本 .html,.html text/html
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
GIF图形 .gif image/gif
JPEG图形 .ipeg,.jpg image/jpeg
au声音文件 .au audio/basic
MIDI音乐文件 mid,.midi audio/midi,audio/x-midi
RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg video/mpeg
AVI文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
TAR文件 .tar application/x-tar
夏夏知 | 园豆:233 (菜鸟二级) | 2014-03-30 15:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册