0
我想上傳一個圖像在asp.net。mvc使用FormData爲我的數據庫中的特定項目。爲此,我需要與圖像一起發送數據庫中項目的ID以鏈接圖像。FormData在asp.net。mvc文件上傳和其他數據比文件
我需要使用FormData,因爲我不需要刷新頁面。所以我使用jQuery與圖像的Ajax。
我使用formdata.append添加了圖像的ID,但是我在服務器中得到一個錯誤,它告訴我在執行ajax請求時調用的方法的id參數不可爲空,因此它不能被映射。它應該映射到我前面提到的數據庫中的項目的ID。
但我在表單數據中添加了該項目的ID。
這是我的javascript代碼:
var formData = new FormData();
var totalFiles = document.getElementById("inputImage").files.length;
formData.append("categoryId", response.data.toString());
for (var i = 0; i < totalFiles; i++) {
var file = document.getElementById("inputImage").files[i];
formData.append("categoryImage", file);
}
$.ajax("@Url.Action("SaveCategoryImage", "Categories")",
{
type: "POST",
dataType: "JSON",
data: formData,
contentType: false,
processData: false,
headers: { __RequestVerificationToken: $('input[name=__RequestVerificationToken]').val() }
});
而且這是在控制器的方法應該被調用:
public async Task<ActionResult> SaveCategoryImage(long cateogoryId, HttpPostedFileBase image)
{
return new JsonNetResult(new BasicActionResultViewModel {IsSuccessful = true});
}
那麼,爲什麼不的ASP.NET MVC映射ID我發送表單數據到控制器的方法中的id?
'response.data.toString()'的值是什麼? –
而且文件不會被綁定 - 參數需要是IEnumerable categoryImage' –