删除时JQuery-File-Upload 404错误

时间:2014-03-01 17:53:20

标签: javascript jquery http-status-code-404 delete-file jquery-file-upload

我使用NUGET将JQuery-File-Upload(和Backload)安装到我的VS2013 MVC 4.5.1项目中。

文件上传效果很好,我成功上传了3个文件。

但是,当我尝试删除任何文件时,页面上似乎没有任何内容,Fiddler报告404错误。

此外,所有文件都存在,并且其中的文件夹和文件已完全控制设置为EVERYONE。

另请注意,下面的消息指定了backload的处理程序的路径,但是,路径不存在......应该吗?

  

C:\ Projects \ AustinTexasKarate \ Web \ Backload \ UploadHandler不存在。

以下是Fiddler的结果。

请注意错误代码:0x80070002。

有谁知道为什么删除在我的系统上不起作用或者可以提供线索?我错过了什么吗?

  

HTTP错误404.0 - 未找到

     

您要查找的资源已被删除,名称已更改或暂时不可用。

     

最有可能的原因:   •Web服务器上不存在指定的目录或文件。   •URL包含印刷错误。   •自定义筛选器或模块(如URLScan)限制对文件的访问。

     

你可以尝试的事情:   •在Web服务器上创建内容。   •查看浏览器URL。   •检查失败的请求跟踪日志,并查看哪个模块正在调用SetStatus。欲了解更多信息,请点击此处。

     

详细错误信息:

     

模块IIS Web核心

     

通知MapRequestHandler

     

Handler StaticFile

     

错误代码0x80070002

     

请求的网址
  /Backload/UploadHandler?fileName=youth_lineup.jpg&uploadContext=C:%5CProjects%5CAustinTexasKarate%5CWeb%5Cfiles%5Cphotos

     

物理路径
  C:\ Projects \ AustinTexasKarate \ Web \ Backload \ UploadHandler

     

登录方法匿名

     

登录用户匿名

     

请求跟踪目录
  C:\ Users \ Roy \ Documents \ IISExpress \ TraceLogFiles \ WEB

     

更多信息:此错误表示文件或目录不存在   存在于服务器上。创建文件或目录并尝试请求   再次。查看更多信息»

1 个答案:

答案 0 :(得分:0)

根据Backload FAQ,您可以调整Web.config以启用没有404的DELETE:

<system.webServer>
  <handlers accessPolicy="Read, Write, Execute">
      <remove name="WebDAV" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,POST,PUT,DELETE" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,POST,PUT,DELETE" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,POST,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
    ...
</system.webServer>