【问题标题】:AjaxFileUpload Error and UploadComplete won't fireAjaxFileUpload 错误和 UploadComplete 不会触发
【发布时间】:2014-06-28 14:05:02
【问题描述】:

我正在使用 ajaxcontroltoolkit,但遇到了问题。这是我的代码

<div id="DragDrop" style="margin: 20px auto 20px auto; width: 50%;"center">
<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"
<ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload1" runat="server" Width="70%" 
        style="margin:0px auto; min-width:300px;" 
        onuploadcompleteall="AjaxFileUpload1_UploadCompleteAll" 
        onuploadcomplete="AjaxFileUpload1_UploadComplete" />
    <div id="TextUpload" align="center" style="margin: 0px auto 0px auto">
    Text/Url Upload:<asp:TextBox id="Text" runat="server">
    </asp:TextBox>
    </div>
</div>

当我上传我的文件时,我收到红色错误横幅,并且我的 ajaxfileuploadcomplete 和我的 ajaxfileuploadallcomplete 都没有触发。我在谷歌上搜索了这个,我发现没有一个修复适用于这种情况。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using AjaxControlToolkit;

public partial class Default : FindLocation
{
    Guid? CanisterID = null;
    Guid? FileID = null;
    string path = "";
    string name;
    string type;
    int size;
    protected void Page_Load(object sender, EventArgs e)
    {
        path = Find();
    }
    protected void AjaxFileUpload1_UploadCompleteAll(object sender, AjaxControlToolkit.AjaxFileUploadCompleteAllEventArgs e)
    {
        throw new Exception();
    }
    protected void AjaxFileUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
    {
        throw new Exception();
        // Generate file path
        string filePath = "~/Images/" + e.FileName;

        // Save upload file to the file system
        ajaxUpload1.SaveAs(MapPath(filePath));
        name = e.FileName;
        type = e.ContentType;
        size = e.FileSize;

        AjaxFileUpload1.SaveAs(MapPath(path));
        DataClassesDataContext db = new DataClassesDataContext();
    }
}

我将这些添加到我的 web.config 中

  <system.webServer>

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

我把它放在页面顶部

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>

而且我在这个页面上也没有任何查询字符串。知道有什么问题吗? ![这是错误的图片][1]

http://i.stack.imgur.com/k7zh8.jpg

【问题讨论】:

  • 确切的服务器错误是什么?请分享它的文字。
  • 我在底部放了一张错误的图片
  • 该文件类型是否允许?
  • 是的,我尝试了基本的文本文件和图像文件,但我得到了同样的错误
  • 仅供参考,不是答案,但我已经在 GitHub 上向 DevExpress 提交了“死亡的红色错误”投诉,并引用了您的问题:github.com/DevExpress/AjaxControlToolkit/issues/573

标签: c# asp.net ajaxcontroltoolkit


【解决方案1】:

为方便起见,我创建了一个示例网站,演示如何通过 https://onedrive.live.com/?cid=f8992524aeae67e6&id=F8992524AEAE67E6%21107&authkey=! web.config 取自默认的 AjaxToolkit 演示项目。

您可以在以下视频中了解该解决方案的工作原理:http://screencast.com/t/fF4N6MeGc70c

最好的问候, 瘤胃

【讨论】:

  • 项目不再存在。我面临与 OP 相同的问题,其他建议也对我没有帮助。
【解决方案2】:

问题很可能是由于您正在上传一个文件,该文件的大小超过了允许的 4 MB。您可以通过将 MaxRequestLength web.config 属性设置为更大的值来增加 .NET 的默认值。有关详细信息,请参阅这些文章:Maximum value of maxRequestLength?While uploading large files getting error

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-06-09
  • 2013-07-14
  • 2019-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-27
  • 1970-01-01
相关资源
最近更新 更多