我无法使用formdata上传图片。这是我之前的代码,它工作正常(这只是表单的一部分):
<div class="fileinput fileinput-new" data-provides="fileinput" style="width: 100%;">
<div class="fileinput-preview" data-trigger="fileinput" style="margin: 10px 0px;"></div>
<div>
<span class="btn btn-default btn-file">
<input type="file" id="filePicture" name="filePicture">
</span>
</div>
</div>
这是我的Ajax电话:
$(document).on("click", "#sledBuckSaveBtn", function() {
event.preventDefault();
event.stopPropagation();
var fd = new FormData(document.getElementById("saveSledBuckForm1"));
$.ajax({
type: "POST",
url: "/SledBuck/EditFromSledTestDetails", //url,
data: fd,
processData: false, // tell jQuery not to process the data
contentType: false,
success: function (result) {
var title = "Error", msgtype = "error";
if (result) {
title = "Success";
msgtype = "success";
}
document.location.reload();
}
});
});
但我的要求已经改变,我需要使用Krajee插件来创建输入类型: 这是我的新代码:
<div class="col-md-9">
<input id="input-@Model.PictureIdList[i]" type="file" class="file" data-show-upload="false" data-show-caption="true" data-input-id="@Model.PictureIdList[i]">
</div>
我面临的问题是什么。我认为原因是我可能需要为Krajee插件进行配置,但我不确定。有什么建议吗?
答案 0 :(得分:3)
我刚刚找到答案。我缺少文件输入的名称。就这样做,文件将被重新调整:
<input id="input-@Model.PictureIdList[i]" name= "fileInput" type="file" class="file" data-show-upload="false" data-show-caption="true" data-input-id="@Model.PictureIdList[i]">