下载按钮不能下载MP4但可以.exe

时间:2014-03-27 13:37:28

标签: php html sql iis video

确定;我一直试图解决这个问题大约6个小时现在我正在创建一个简单的网站,您可以下载视频和应用程序。

我有一个数据库,用于存储视频标题和下载所需媒体的ID。

我遇到的问题是当我尝试下载mp4文件格式时出现404错误,说它无法找到该文件。如果我将代码中的扩展名交换为.exe格式,它会找到该文件并询问您是否要保存或运行该文件。

浏览器的URL正确显示,因为它应该与两个文件一起显示,但只有.exe实际上有效。任何想法或帮助将不胜感激。

下载按钮代码为:

<div id="Media_download">
<a href="http://thor/classroom/Downloads/'.$row['media_id'].''.$row['title'].'.mp4" target="_blank">
<img class="Download_Button" src="images/download.jpg"></a>
</div>  

我正在运行Windows Server 2008 R2作为我的测试服务器,我正在使用PHP版本5.3

我有root directory / downloads folder /this is where my mp4 files and .exe are,如上所示。

文件名称显示为media_id,标题,扩展名;所以例如它会 1ccleaner.exe或2rush.mp4

2 个答案:

答案 0 :(得分:4)

我猜你在使用Windows来托管你的应用程序时使用IIS。 您是否在IIS配置中添加了正确的mime类型?

你应该在Mime Map中添加mp4作为video / mp4:

来自(https://stackoverflow.com/a/6182060/1210773

的信息
  1. 选择要在IIS中配置的网站
  2. 右键单击选择属性
  3. 选择HTTP标头标签
  4. 选择MIME Map部分下的文件类型
  5. 选择New Type类型.mp4作为扩展名,video / mp4作为mime类型
  6. 选择确定。
  7. 如果仍然没有变化,那么重启iis。

    关于下载而不是在新标签页中打开,html5有一个新的下载属性: http://www.w3schools.com/tags/att_a_download.asp

答案 1 :(得分:1)

很有可能,浏览器正在尝试播放mp4文件,而不是提示用户下载它(就像使用.exe一样)。它打开一个新窗口(target="_blank"),然后尝试导航到您的Web根目录之外的位置(http://thor/classroom/Downloads...)。如果您指示用户右键单击并选择“另存为”,然后它可能会像你期望的那样工作。

您可以在此处找到其他一些有用的信息:social.msdn.microsoft.com