确定;我一直试图解决这个问题大约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
答案 0 :(得分:4)
我猜你在使用Windows来托管你的应用程序时使用IIS。 您是否在IIS配置中添加了正确的mime类型?
你应该在Mime Map中添加mp4作为video / mp4:
来自(https://stackoverflow.com/a/6182060/1210773)
的信息如果仍然没有变化,那么重启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