我正在尝试使用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());
}
}
}
如果这真的很容易,我道歉,我的思绪现在并没有全速运转。非常感谢任何建议。
答案 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)
尝试这个给出了吹制链接的那个: