ns2250225
V2EX  ›  Vue.js

[请教] 在 vue 中的 a 标签怎样下载文件啊,设置了 download 属性,可是只能转跳

  •  
  •   ns2250225 ·
    ns2250225 · Apr 25, 2018 · 12730 views
    This topic created in 3115 days ago, the information mentioned may be changed or developed.
    如题,请大家不吝赐教,💖
    15 replies  •  2018-04-25 17:36:38 +08:00
    SourceMan
    SourceMan
    Apr 25, 2018
    1
    大家说这根 vue 有几毛钱关系?
    建议楼主再看下 HTML 基础
    misaka19000
    misaka19000
    Apr 25, 2018❤️1
    2
    大家说这根 HTML 有几毛关系?
    建议楼主再看下 HTTP 基础
    trys1
    trys1
    Apr 25, 2018 via Android
    3
    服务端返回给你的 content-type 对吗
    ns2250225
    ns2250225
    OP
    Apr 25, 2018
    4
    @SourceMan 我的浏览器是支持 h5 的 download 属性的,可是就是不生效,只能转跳,请问有什么好的方法吗
    ns2250225
    ns2250225
    OP
    Apr 25, 2018
    5
    @trys1 服务端返回 Content-Type: image/jpeg,只能改服务端吗,请问有没有其它方法啊,感谢,🎈
    fengyj
    fengyj
    Apr 25, 2018 via Android
    6
    大多数浏览器都不支持的属性还是少用,别用吧。
    ns2250225
    ns2250225
    OP
    Apr 25, 2018
    7
    @huiyifyj 感谢您的建议,请问有没有其它的方法可以实现啊,🌹
    fengyj
    fengyj
    Apr 25, 2018 via Android
    8
    href 配合 cdn 就可以的啊。
    madao
    madao
    Apr 25, 2018
    9
    @ns2250225 严格来说,这应该是跨域问题。
    如果你的文件地址和网页地址不是一个域,那么就会这样。
    你可以试试在本地开一个 index.html 同一级放一个 a.jpg, download 这个属性是可行的。
    但是放一个外部地址的图片,不行。但是如果你是 Mac 环境,你可以尝试下 open -na Google\ Chrome --args --disable-web-security 这个命令,会打开一个没有安全限制的 chrome,这样你点那个外部地址的图片,就会可以 download。

    但是还是有别的实现方案,推荐阅读: http://www.zhangxinxu.com/wordpress/2017/07/js-text-string-download-as-html-json-file/
    madao
    madao
    Apr 25, 2018
    10
    @misaka19000
    @SourceMan
    两个各打 50 下 PP。

    * Chrome 65 and above only supports same-origin download links.
    madao
    madao
    Apr 25, 2018❤️2
    11
    @ns2250225 遇到问题先尝试拆解你不确定的变量,然后思考 /Google 它。
    https://caniuse.com/#feat=download 这里你大概就能得到大致的理解了。
    CSM
    CSM
    Apr 25, 2018 via Android
    12
    服务器返回个 Content-Disposition: attachment; filename=xx
    ns2250225
    ns2250225
    OP
    Apr 25, 2018
    13
    @CSM 嗯,我试试,😀
    SourceMan
    SourceMan
    Apr 25, 2018
    14
    @madao #10 哈哈,感谢,学习了,还真不知道 65 之后同源才可以。

    不过我们 2 个吐槽确实还是对的,这个确实跟 Vue 没关系,也需要楼主复习下 HTML 和 HTTP 的基础来排除问题。
    wxsm
    wxsm
    Apr 25, 2018
    15
    vue 之所以招黑,应该也是这种问题太多了吧。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2034 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 16:28 · PVG 00:28 · LAX 08:28 · JFK 11:28
    ♥ Do have faith in what you're doing.