如何在 HTML 中指定下载文件的文件名

wendzhue
  • 64

如何利用 HTML 中的 a 标签相关属性指定下载文件的文件名?

或者有什么其他的方法可以采用?

目前我的网页是在后端渲染的。

回复
阅读 28k
3 个回答

题主想要的是这样的效果吧?

<a href="/download/F6E2EF384FA35BA4815BE2F6472A6C72" >点击下载</a>

然后各种下载器可以自动识别名称, 下载后文件名直接为 "葫芦娃.mp4"

这还是让后端做吧,这对于后端来说举手之劳,而前端我并没有听说过什么解决办法。
楼上那个 <a download="葫芦娃"> 在 chrome和firefox 下是可行的,但其他大多数下载器并不支持(到现在(2018-08)不支持这个的只有IE和手机端的Safari了)。

这种识别是通过http header传达的,后端只要给这个下载的响应头加上类似这个 content-disposition:attachment;filename=%2f%E3 就可以了。

在java中实现如下:

response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode("葫芦娃.mp4", "utf-8"));

HTML 5新出的,给a标签添加download属性比如(download="二维码")

题主的意思是这个吗?

<a href="path/filename.avi">链接</a>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏