首页 > 解决方案 > Dropzone 服务器在 iOS 上以 0 代码响应

问题描述

尽管有类似的问题,但我无法解决 iOS 上的 dropzone 'server respond with 0 code'。

我目前在我的 C# MVC Web 应用程序上使用 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>

有没有人能够使用 safari 在 iOS 上解决这个问题,任何帮助将不胜感激!

编辑:

此外,我尝试增加 IIS 8 中的连接超时,并且我还在 web.config 中添加了 executionTimeout="180"。

标签: c#asp.net-mvcdropzone.jsiis-8

解决方案


经过两天的努力,我终于能够解决我的问题。

我没有在黑暗中随机拍摄并猜测可能的解决方案,而是找到了这篇文章来调试 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
   }

我只是将文件扩展名转换为小写,一切似乎都运行良好。我希望这可以帮助遇到类似问题的人。


推荐阅读