如何通过http下载mp4文件headers

How to download mp4 file via http headers

我在外部 FTP 服务器上保存了一个 mp4 文件。当我在经典 HTML5 播放器中播放此视频时,将其保存到 "Save video as",一切正常。 但是当我通过 headers:

下载这个文件时
header('Content-Description: File Download');
header('Content-Transfer-Encoding: binary');
header('Content-Length: FILE_SIZE');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: no-cache');
header('Expires: Mon, 1 Apr 1974 05:00:00 GMT');
header("Content-type: video/mp4");
header("Content-disposition: attachment; filename=FILE_NAME");
readfile(FILE_URL); // do the double-download-dance (dirty but worky)

(FILE_SIZE, FILE_URL 和 FILE_NAME 当然填对了, 不是下载 mp4 文件,但每个播放器都说 "this format is not supported"。 当我下载任何其他文件类型 (pdf/ppt,...) 时,一切正常。

有什么想法吗??

文件 1(文件错误,无法播放):

http://www.vaseakademie.cz/ajax/s:lekceTools/c:lekceTools/m:getFile/loID:177

通过'Stáhnout lekci'

文件大小:50156182 MD5:ef0bf2fdfe1774c0a75d26202cdebdcd

文件 2(正确的文件,可以播放):

http://data.vaseakademie.cz/lekce/kurz_68/b55bf87383652751aeefd02f844f9fd9.mp4

如果正在播放视频,来自来源。与右键相同,将视频另存为

文件大小:50156182 MD5:ef72631add8524d72ac1b61bacf0cc1a

结论:

没问题header,文件内容不一样。您应该检查文件处理脚本,而不是 header