无法使用formdata上传图片Asp.net-mvc
Cannot upload picture using formdata Asp.net-mvc
我使用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 插件进行配置,但我不确定。有什么建议吗?
我刚刚找到了答案。我缺少文件输入的名称。只要这样做,文件就会被注册:
<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]">
我使用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 插件进行配置,但我不确定。有什么建议吗?
我刚刚找到了答案。我缺少文件输入的名称。只要这样做,文件就会被注册:
<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]">