尽管存在类似的问题,但我无法在iOS上解决dropzone“服务器响应0码的服务器”的问题。
我目前正在C#MVC网络应用程序上使用Dropzone上传视频和图像,该视频在台式机的Chrome浏览器和Firefox以及Android的Chrome浏览器中均能完美运行,但由于某些原因,它无法上传在iOS上播放视频,或仅以0码错误作为响应,但仍然会上传图像。
我已经在web.config中设置了 maxAllowedContentLength :
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="524288000" />
</requestFiltering>
</security>
并且我还在dropzone配置中指定了最大文件大小,并为接受的文件包括了不同的mimeType。
<staticContent>
<remove fileExtension=".mp4" />
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
<remove fileExtension=".flv" />
<mimeMap fileExtension=".flv" mimeType="video/x-flv" />
<remove fileExtension=".m3u8" />
<mimeMap fileExtension=".m3u8" mimeType="application/x-mpegURL" />
<remove fileExtension=".ts" />
<mimeMap fileExtension=".ts" mimeType="video/MP2T" />
<remove fileExtension=".3gp" />
<mimeMap fileExtension=".3gp" mimeType="video/3gpp" />
<remove fileExtension=".mov" />
<mimeMap fileExtension=".mov" mimeType="video/quicktime" />
<remove fileExtension=".avi" />
<mimeMap fileExtension=".avi" mimeType="video/x-msvideo" />
<remove fileExtension=".wmv" />
<mimeMap fileExtension=".wmv" mimeType="video/x-ms-wmv" />
</staticContent>
任何人都可以使用野生动物园在iOS上解决此问题,我们将不胜感激!
编辑:
另外,我尝试增加IIS 8中的连接超时,并且还向web.config中添加了executeTimeout =“ 180”。
答案 0 :(得分:1)
经过两天的奋斗,我终于能够解决我的问题。
我发现this文章不是在黑暗中随意拍摄,而是找到了在Windows上调试iOS的解决方案,因此我可以了解为什么视频没有上传或返回了哪个错误。
我发现在iOS上,文件扩展名通过时在xhr请求中大写,例如my-video.MP4和控制器中的if语句,将文件扩展名比较为小写,如下所示:
if (fileExtension == ".mp4" || fileExtension == ".mov" || fileExtension == ".avi" || fileExtension == ".wmv" || fileExtension == ".flv" || fileExtension == ".3gp")
{
//saving files onto the server
}
我只是将文件扩展名转换为小写,并且似乎一切正常。我希望这可以帮助遇到类似问题的人。
答案 1 :(得分:0)
此问题可能有几个原因。您要上传的文件有多大?服务器执行脚本多长时间?允许上传的最大文件大小是多少? 我认为这主要是网络服务器设置的问题。
还尝试增加IIS中的连接超时:转到您的网站(即默认网站)->高级设置->连接超时)。
如果仍然无法解决问题,请参见此链接以获取一些建议:https://github.com/enyo/dropzone/issues/701