为什么迅雷会响应在 HTML5 video 标签内的 .mp4 视频文件?

我使用<video>标签来播放视频,代码大致如下:

<video preload="metadata" controls type="video/mp4" src="//example.com/hi.mp4">你的浏览器不支持 <code>video</code> 标签.</video>

我知道这部分是迅雷的问题,可以设置迅雷的响应对象。但不是所有用户都会设置这个的。

更多的时候,用户只会觉得奇怪,为什么打开这个网页后,迅雷会自动下载这个网页内的视频?

我猜想阿里云的 OSS 返回的header里可能表明了这是个附件,然后触发了迅雷的响应机制,但Response Header也没发现有什么异常的:

https://img4.mukewang.com/5be9328f00012d2b06430362.jpg

顺便附上Request Header


GET /hi.mp4 HTTP/1.1

Host: example.com

Connection: keep-alive

Pragma: no-cache

Cache-Control: no-cache

Accept-Encoding: identity;q=1, *;q=0

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36

Accept: */*

DNT: 1

Referer: http://localhost:3000/

Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4

Range: bytes=0-

请问应当如何改写代码,才能避免迅雷自动下载视频?

动漫人物
浏览 726回答 1
1回答

烙印99

这个问题是因为阿里云OSS对于mp4格式的文件Response Header中的Content-Type默认为application/octet-stream所导致的,解决办法就是在阿里云OSS中设置Response Header中的值,把Content-Type修改为video/mp4即可,可以多选然后批量修改。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript