Dropzone服务器在iOS上以0代码响应

时间:2018-10-06 17:05:05

标签: c# asp.net-mvc dropzone.js iis-8

尽管存在类似的问题,但我无法在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”。

2 个答案:

答案 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