asp.net-mvc - FineUploader 状态 406 ASP.NET
问题描述
我在 ASP.NET Web 应用程序中使用 Fineuploader 来上传文件。在大多数情况下,上传工作正常。问题是一些文件的上传不起作用,当客户端发送带有文件块的发布请求时,我收到状态代码 406。
我尝试发送与不起作用的文件具有相同名称、相似大小和扩展名的文件,并且它们可以正常工作,因此文件名、大小或扩展名似乎没有问题。我在这些文件之间找不到共同点. 我将块大小配置为 5MB,但也尝试将其更改为 2 MB 和 10MB,但它们也不起作用。
从请求来看,似乎是云端或 IIS 有问题?我对此知之甚少。
编辑:查看我发现的 IIS 日志,对于返回 406 的请求,用户似乎是“-”,是 cs-username '-' 因为 406 或者是请求 406 因为 cs-username ' -'?如果是第二种,是什么让用户如此迷失?
解决方案
错误消息 406 表示Accept请求标头中的 mime 类型对 IIS 无效,或者 IIS 服务器无法通过 Accept 标头中的类型返回数据。
所以请检查是否安装了IIS->万维网服务->静态内容。请确保 Accept header 中的类型在 IIS manager->site node->Mime Types 中也有效。
现在您的客户端只接受 application/json,请确保您的代码将返回正确的响应类型。
如果这不起作用,请启用失败的请求跟踪并在 FRT 日志中发布详细的错误消息。 https://docs.microsoft.com/en-us/iis/troubleshoot/using-failed-request-tracing/troubleshoot-with-failed-request-tracing
推荐阅读
- ionic-framework - 自定义 ngx-translate 加载器,接收无法设置未定义的属性“http”
- python - 如果我们已经有它的实例,如何优化相关对象的延迟加载?
- python - 使用特定列中的数据的某些条件删除数据框中的重复行
- docker - docker 启动 apache 和 neo4j 后立即退出
- node.js - 在 node 中运行时如何使用 babel 动态转换从 node_modules 消耗的包?
- vuejs2 - 将 Webpack 从 2.7 升级到 4.35 空白页面 IE11
- regex - Reg Exp 不匹配
- angular - Primeng 的 'selectedItem' 模板不起作用,它总是将选定的值设置为在 AutoComplete 中设置的 'field' 属性
- sql-server - SQL Server - 从多种格式的字符串中提取日期
- r - 如何在测试数据集上获得随机森林回归模型的 MSE