AjaxFileUpload在iis 7.5及更高版本中不起作用

时间:2014-03-28 07:04:12

标签: asp.net ajax file-upload

我正在使用AjaxFileUpload Control一次上传多个文件以及Drag&删除功能。它不适用于IIS7.5及更高版本。

这是我的代码:

.aspx页面:

             <body>
<form id="form1" runat="server">
<asp:ToolkitScriptManager ID="ToolkitScriptManager2" runat="server">
</asp:ToolkitScriptManager>
<table width="100%">
    <tr>
        <td width="15%" height="200px">
        </td>
        <td width="60%" height="200px">
            <asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server" OnUploadComplete="AjaxFileUpload1_UploadComplete"
                Height="200px" />                
        </td>
        <td width="15%" height="200px">
        </td>
    </tr>
</table>
<asp:Label ID="lblError" runat="server"></asp:Label>
</form>

.CS代码:

       protected void AjaxFileUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
    {
        try
        {
            string Path = ConfigurationManager.AppSettings["UploadPath"].ToString();
            string filePath = Path + Convert.ToString(e.FileName);
            AjaxFileUpload1.SaveAs(filePath);
        }
        catch (Exception ex)
        {
        }
    }

2 个答案:

答案 0 :(得分:2)

我们遇到了同样的问题。

当我们将网站从Framework v2更新到v4时,控件停止工作。

我们在“经典”模式下使用游泳池,这就是问题所在,如果我们将游泳池的模式改为“整合”,问题就会消失,控制工作就可以了。

由于我们无法更改池模式,我们去寻找另一种解决方案...... 我们找到了它!

我们将选项 preCondition =“integratedMode”添加到Web.Config中的处理程序注册和问题解决!! :)

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
        <add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit" preCondition="integratedMode"/>
    </handlers>
</system.webServer>

答案 1 :(得分:1)

将以下行添加到您的web.config:

<configuration>
  <system.web>
    <httpHandlers>
      <add verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit" />
    </httpHandlers>
  </system.web>
  <system.webServer>
    <handlers>
      <add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit" />
    </handlers>
  </system.webServer>
</configuration>