2014-09-05 81 views
0

POST方法的HTML页面允许POST方法的HTML页面中的ASP.NET MVC允许在ASP.NET MVC

我使用ASP.NET MVC与5.2和我整合RoxyFileManager我的CKEditor。

的整合是很好,但问题是,当我尝试了一些文件上传到我的Web服务器,我得到这个错误:

NetworkError: 405 Method Not Allowed - http://localhost:35418/FileManager/index.html?... 

的RoxyFileManager使用POST方法上传的文件和我的web服务器呢不接受它。我无法弄清楚如何修复它。

如果我手动将图像放到我的目录中,我可以在文件管理器中看到它,我也可以在其中创建和排除文件夹。

澄清我的问题:我想知道如何让我的网络服务器接受POST方法到HTML页面,就这样。所有相关信息都在上面。我有一个HTML页面,并希望让它接受POST。

#UPDATE:

我已经想通了这个问题是一个浏览器的问题。

  1. 在谷歌浏览器中一切正常,
  2. 在Firefox中,我得到上面的错误;我可以上传和编辑以前发送的文件,但是我看不到最近的文件上传,直到缓存到期为止,这些更改都没有发生。

我会解决这些问题,并在这里发布答案,如果成功的话。

回答

0

为了解决IE bug这很简单,但它很难:你需要在每一个RoxyFileMan的ajax调用中添加行cache: false。您需要在RoxyFileMan文件夹的每个.js文件中执行此操作。

例子:

$.ajax({ 
    url: d, dataType: "json", async: true, success: function (h) { 
     for (i = 0; i < h.length; i++) { e.push(new File(h[i].p, h[i].s, h[i].t, h[i].w, h[i].h)) } 
     g.FilesLoaded(e) 
    }, 
    error: function (h) { alert(t("E_LoadingAjax") + " " + d) }, 
    cache: false 
}) 

有了这个,由乐声所做的所有阿贾克斯不会有任何缓存,解决了IE的问题。

为了解决Firefox的错误我在main.min.js改变了这个:

BEFORE:

document.forms.addfile.action = RoxyFilemanConf.UPLOAD 

AFTER:

$('form[name="addfile"]').attr('action', RoxyFilemanConf.UPLOAD); 

我发现这个解决方案here

现在我的文件管理器正在处理所有现代浏览器。