我正在尝试实现一个简单的ajaxtoolkit文件上载控件,每次单击"上传",我得到的都是错误.我尝试在"AjaxFileUpload1_UploadComplete"函数中放置断点但它甚至不会被解雇..(可能是因为上传尚未完成?)我该怎么做才能使它工作?
这是错误:

这是我的aspx:
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server"
onuploadcomplete="AjaxFileUpload1_UploadComplete" ThrobberID="myThrobber" MaximumNumberOfFiles="10" AllowedFileTypes="jpg,jpeg"/>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
这是背后的功能:
protected void AjaxFileUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{
string id = "038191904";
Directory.CreateDirectory(Server.MapPath("~/App_Data/" + id + "/scanned_docs/"));
string filePath = "~/Member_Data/" + id + "/images/";
string path = filePath + e.FileName;
AjaxFileUpload1.SaveAs(Server.MapPath(filePath) + e.FileName);
//db1.insert_pic_slide(id, path);
}
Run Code Online (Sandbox Code Playgroud)
Mat*_*ewT 26
这发生在我身上,我做了两件事来解决它:
1) 更新站点的web.config文件以包含以下条目:
<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>
Run Code Online (Sandbox Code Playgroud)
2)如果您要上传的页面位于具有拒绝匿名授权规则的自己的web.config文件夹中,请确保为AjaxFileUploadHandler添加允许,如下所示:
<location path="AjaxFileUploadHandler.axd">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)