a标签文件下载链接,怎样避免直接打开文件?

zzyfishe 2012-07-19 11:12:01
一个下载链接释放到客户端是a标签,其href属性是文件的路径,如果是txt或jpg这种文件,点击链接不是弹出下载框而是直接在窗口显示,如果是doc或其他文件,就会弹出下载框。怎样才能使所有文件点击都能弹出下载框而不直接打开呢?
...全文
38596 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yoreland 2013-09-17
  • 打赏
  • 举报
回复
<a href="/down/test"> public ActionResult FilePathDownload() { var path = Server.MapPath("~/Files/test.zip"); return File(path , "application/x-zip-compressed", "crane.zip"); }
gzyyan249 2013-09-16
  • 打赏
  • 举报
回复
楼主是怎么解决的,求分享
  • 打赏
  • 举报
回复
压缩了,让下载压缩包!
李婕 2013-03-22
  • 打赏
  • 举报
回复
我站内有个文件.pdf想直接打开而不是下载。怎么办呀
小刘哈哈 2012-07-20
  • 打赏
  • 举报
回复
会直接打开是因为我们浏览器可以识别 对于.jpg和.txt文件是浏览器识别的文件
一种简单的做法是 更改他们的后缀名下载 比如把.jpg改成.jpg.重命名 这样就可以直接<a href="123.jpg.重命名"></a>
liuyan4794 2012-07-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
<a href="javascript:rediect('http://xx.jpg')">
最简单做写就是href里写个JS方法
function rediect(url){
if xxx
else

}
[/Quote]

可以试试
孟子E章 2012-07-20
  • 打赏
  • 举报
回复
你应该这样下载
<a href="down.aspx?file=xxx.txt"
yangxxxxxx66 2012-07-20
  • 打赏
  • 举报
回复
//通知浏览器下载文件而不是打开
Response.AddHeader("Content-Disposition", "attachment; filename=a.txt", System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
杰拉尔 2012-07-19
  • 打赏
  • 举报
回复
<a href="javascript:rediect('http://xx.jpg')">
最简单做写就是href里写个JS方法
function rediect(url){
if xxx
else

}
地菜 2012-07-19
  • 打赏
  • 举报
回复
如果是iis 服务器, 可以配置网站的mime 类型 , txt 和 jpg 映射到 application/octet-stream ,或者application/x-msdownload。

不知道可行不,没试过 ,不过肯定是这个思路,另外好像不同浏览器的处理也不尽相同
mizuho_2006 2012-07-19
  • 打赏
  • 举报
回复
我记得以前传智播客里介绍过的,好像要改http报文。。

62,017

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧