HTML下载属性更改文件名
Posted
技术标签:
【中文标题】HTML下载属性更改文件名【英文标题】:HTML download attribute change file name 【发布时间】:2017-08-21 08:52:27 【问题描述】:您好,我有这个从 youtube 下载视频的链接,但标题总是视频播放。
<a href="https://r6---sn-8qj-nboel.googlevideo.com/videoplayback?lmt=1415862562106007&sparams=clen,dur,ei,expire,gir,id,initcwndbps,ip,ipbits,ipbypass,itag,lmt,mime,mip,mm,mn,ms,mv,pcm2cms,pl,ratebypass,requiressl,source&gir=yes&ei=b5aaWaKKJo2JogPHyZi4AQ&pl=20&source=youtube&ip=128.199.110.176&mime=video%2Fmp4&requiressl=yes&expire=1503324879&id=o-AA6Urpa1sgtfqOlTXbz1blhIvhLx6nwj59PsaSTT-8rE&ipbits=0&ratebypass=yes&key=cms1&itag=18&clen=103379173&signature=4D159BDA63DDB2B51AB01764231F3EDC23DED64A.0FB2A9C367CC3CA54F9F0456703FDECB51674235&dur=5096.547&title=%EA%B9%80%ED%98%95%EB%B0%B1%EC%9D%98%20%EC%97%91%EC%85%80%20%EA%B0%95%EC%A2%8C%20%20%EC%B4%88%EA%B8%89%ED%8E%B8&redirect_counter=1&req_id=2e16a9417f6da3ee&cms_redirect=yes&ipbypass=yes&mip=14.187.139.219&mm=31&mn=sn-8qj-nboel&ms=au&mt=1503303128&mv=m&pcm2cms=yes?title="filename.mp4" download="filename.mp4">download</a>
我尝试使用 ?title="filename.mp4" 和 downlaod="filename.mp4"。两者都不起作用。有什么想法吗?
【问题讨论】:
【参考方案1】:?title="filename.mp4
有两个问题。
首先,它依赖于服务器识别查询字符串值并将其用作合适的content-disposition
HTTP 响应 标头的一部分。据推测,您向其发出请求的服务器不支持。
其次,如果您想在 URL 中添加引号(您可能不这样做),那么您不能使用与分隔 html 属性值相同的引号而不转义它们。第一个"
将结束href
属性。
downlaod="filename.mp4"
有两个问题。
首先:download
在o
之前没有与a
拼写。
第二:有些浏览器只支持同源请求的download
属性。您正在发出跨域请求。
YouType 的业务是在展示广告的同时向人们流式传输视频。他们不会支持您直接下载视频文件。
【讨论】:
【参考方案2】:href 中的逗号不完整。我的意思是逗号开始但没有结束。您编写的代码应该有 6 个引号(3 个开头和 3 个结尾),但它有 5 个(3 个开头和 2 个结尾)应该有另一个结尾的引号。
参考此链接Change name of download in javascript 这里它说从客户端无法更改名称。
【讨论】:
可能只是我一无所知,但我不得不查找“倒逗号”才能弄清楚它是指"
字符。
我的错。它也用作双引号,我应该提到:-p
您的代码与问题中的代码有什么不同吗?如果有区别,我还没有发现...
不,没有区别对不起,我认为它可能会显示如下:参考上面的代码.....【参考方案3】:
您不能从前端更改文件名。
我们可以把文件名改成这个。
Content-Disposition: attachment; filename=filename
Youtube服务器是这样制作的
所以我们不能从前端更改文件名。
【讨论】:
以上是关于HTML下载属性更改文件名的主要内容,如果未能解决你的问题,请参考以下文章
Attribute Changer(更改各种文件属性) 7.1a 汉化安装版
是否可能 HTML 下载属性可以在不使用 javascript 的情况下下载多个文件?