嘗試將文件保存到數據庫。我通過javascript使用formData來追加文件,並通過ajax將其添加爲post對象。由於某種原因沒有得到發送。如何使用ajax發佈文件?
我在做什麼錯?
HTML
<input type="file" style="display: none;" class="btn btn-primary uploadFile">
腳本:
$(".saveImage")
.on("click",
function() {
var files = $(".uploadFile");
var data = new FormData();
data = $.OverWatch.worker.uploadFileHandler.addUploadFiles(files, data);
$.OverWatch.worker.postUserData("/Administration/AddUserImage", data, function() {
alert("done");
});
});
功能上面的樣子:
addUploadFiles: function (files, data) {
$.each(files, function (i, v) {
var file = $(this).data("files");
data.append("file", file);
});
return data;
}
postUserData:
postUserData: function(url, data, callback) {
$.LoadingOverlay("show");
$.ajax({
url: url,
type: 'POST',
data: data,
cache: false,
processData: false,
contentType: false,
dataType: "HTML",
success: function(data) {
if (callback) {
callback(data);
$.LoadingOverlay("hide");
}
},
error: function(event, jqxhr, settings, thrownError) {
//$.helpers.errorHandler($("#fileDialogErrors"), event.responseText);
var h;
$.LoadingOverlay("hide");
}
});
},
後端:
public ActionResult AddUserImage()
{
if (Request.Files.Count != 0)
{
//save
}
return null;
}
編輯:
var files = $(".uploadFile");
回報:
什麼是'var file = $(this).data(「files」);'returns? –
@StephenMuecke檢查修改 – ThunD3eR
你還沒有回答我的問題:) - 我敢打賭,它返回'undefined' –