c# - 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"。
解决方案
经过两天的努力,我终于能够解决我的问题。
我没有在黑暗中随机拍摄并猜测可能的解决方案,而是找到了这篇文章来调试 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
}
我只是将文件扩展名转换为小写,一切似乎都运行良好。我希望这可以帮助遇到类似问题的人。
推荐阅读
- android - ValueAnimator Lint 错误:此动画应以#start() [Recycle] 开始
- c++ - 在yaml-cpp中为yaml变量返回bool的任何方法?
- allure - 我无法将屏幕截图附加到魅力报告
- java - 不认识班级
- angularjs - 如何在 MSAL 浏览器中使用来自 acquiretoken 静默的刷新令牌
- python - Python 命令 Pandas 系列数据比较
- dataframe - 如何使用谷歌表格在一张图表上绘制具有不同水平范围的多条线?
- html - 为什么100vh不走全屏?
- java - 如果用户不必要地单击保存按钮并且没有要保存的内容,如何检查 java?
- autorest - AutoRest v3 按控制器拆分 Rest Client