Dropzone 服务器在 iOS 上以 0 代码响应
Dropzone server responded with 0 code on iOS
虽然也有类似的问题,但是我没能解决 iOS 上的 dropzone 'server responded with 0 code'。
我目前在我的 C# MVC 网络应用程序上使用 Dropzone 来上传视频和图像,它在桌面上的 Chrome 和 Firefox 以及 Chrome 上完美运行 Android,但出于某种原因,它不会在 iOS 上上传视频,或者只是用 0 代码错误响应,但它仍然会上传图像 none。
我在 web.config:
中设置了 maxAllowedContentLength
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="524288000" />
</requestFiltering>
</security>
我还在 dropzone 配置中指定了最大文件大小,并为接受的文件包含了不同的 mimeTypes。
<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"
这个问题可能有多种原因。您上传的文件有多大?服务器执行脚本多长时间?允许上传的最大文件大小是多少?
我认为这主要是网络服务器设置的问题。
尝试增加 IIS 中的连接超时:转到您的网站(即默认网站)-> 高级设置 -> 连接超时。
如果这仍然不起作用,请参阅此 link 以获得一些想法:https://github.com/enyo/dropzone/issues/701
经过两天的挣扎,终于解决了我的问题。
我没有在黑暗中随机拍摄并猜测可能的解决方案,而是在 windows 上找到了 this 文章来调试 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
}
我只是将文件扩展名转换为小写,似乎一切正常。我希望这可以帮助遇到类似问题的人。
虽然也有类似的问题,但是我没能解决 iOS 上的 dropzone 'server responded with 0 code'。
我目前在我的 C# MVC 网络应用程序上使用 Dropzone 来上传视频和图像,它在桌面上的 Chrome 和 Firefox 以及 Chrome 上完美运行 Android,但出于某种原因,它不会在 iOS 上上传视频,或者只是用 0 代码错误响应,但它仍然会上传图像 none。
我在 web.config:
中设置了 maxAllowedContentLength <security>
<requestFiltering>
<requestLimits maxAllowedContentLength="524288000" />
</requestFiltering>
</security>
我还在 dropzone 配置中指定了最大文件大小,并为接受的文件包含了不同的 mimeTypes。
<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"这个问题可能有多种原因。您上传的文件有多大?服务器执行脚本多长时间?允许上传的最大文件大小是多少? 我认为这主要是网络服务器设置的问题。
尝试增加 IIS 中的连接超时:转到您的网站(即默认网站)-> 高级设置 -> 连接超时。
如果这仍然不起作用,请参阅此 link 以获得一些想法:https://github.com/enyo/dropzone/issues/701
经过两天的挣扎,终于解决了我的问题。
我没有在黑暗中随机拍摄并猜测可能的解决方案,而是在 windows 上找到了 this 文章来调试 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
}
我只是将文件扩展名转换为小写,似乎一切正常。我希望这可以帮助遇到类似问题的人。