使用JQuery和C#进行多个文件上载

时间:2012-03-27 18:53:52

标签: c# ajax jquery

我正在尝试使用JQuery和c#执行文件上传,但是我遇到了很多问题。我无法弄清楚如何上传文件。如果我使用FileUpload它工作正常,但我允许用户动态添加文件,所以我使用Jquery(ajax发布到另一个文件)来处理文件。首先我得到了一个POST和enctype错误,但现在它只是没有做任何事情。 Firebug告诉我ajax代码失败了,但是没有告诉我任何其他内容。

这是我的jquery:

    function AddDocumentsDatabase() {
    $('input:file').each(function (index) {
        var fileName = $(this).val();

        $.ajax(
        {
            type: "POST",
            url: "../ajaxURLs/InsertDocument.aspx?requestNumber=" + reqNum + "&fileName=" + fileName,
            contentType: 'multipart/form-data',
            cache: false,
            success: function (html) {
                alert("File Inserted!")
            }
        }
        );
    });
}

这是InsertDocument.aspx代码:

RequestDB db = new RequestDB();
    ApplicationFunctions app = new ApplicationFunctions();

    protected void Page_Load(object sender, EventArgs e)
{
    Response.Write("Hello");
    foreach (string key in Request.Form)
    {
        if (!key.StartsWith("fleBrowse")) continue;
        {
            Response.Write(Request.Form[key].GetType());
        }

    }
}

如果这真的很容易,我道歉,我的思绪现在并没有全速运转。非常感谢任何建议。

2 个答案:

答案 0 :(得分:2)

我同意shawleigh17;这是一项很大的工作,其他人也做得很好。我已经使用jQuery FileUpload(http://blueimp.github.com/jQuery-File-Upload/)取得了巨大的成功。但是,如果您确实想尝试调试代码,请尝试在调试的ajax调用中添加错误函数:

$.ajax(
{
  type: "POST",
  url: "../ajaxURLs/InsertDocument.aspx?requestNumber=" + reqNum + "&fileName=" + fileName,
  contentType: 'multipart/form-data',
  cache: false,
  success: function (html) {
    alert("File Inserted!")
  },
  error(jqXHR, textStatus, errorThrown) {
    alert( "Error: " + textStatus + ": " + errorThrown );
  }
});

答案 1 :(得分:0)

尝试这个给出了吹制链接的那个:

http://www.dotnetcurry.com/ShowArticle.aspx?ID=317