我有一个MVC应用程序,我在应用程序中上传图片文件。
此代码:
var files = $(".uploadFile").data("files");
$.each(files, function (key, value) {
data.append('file', value);
})
$('.userForm *').filter(':input').each(function (index, value) {
data.append(value.id, $("#" + value.id).val());
});
$.ajax({
url: "/Customer/AddCustomer",
type: 'POST',
data: data,
cache: false,
processData: false,
contentType: false,
success: function (data) {
// logic
$.LoadingOverlay("hide");
},
error: function (event, jqxhr, settings, thrownError) {
// logic
$.LoadingOverlay("hide");
}
});
服务器代码:
public string AddCustomer(HttpPostedFileBase file, Customer customer)
{
// add customer and return to edit view
return partialView("customerEdit");
}
我想知道如何为我发送的每个文件添加属性? 例如,对于我添加的每个文件,我创建一个我附加到DOM的列表。 在此列表中,每个文件旁边都有一个复选框,指示此文件(图片)是否应该是个人资料图片。
如何将boelan属性附加到每个文件?
答案 0 :(得分:0)
感谢@adeneo,我的大脑开始了。
我不得不重新考虑我的策略,因为我不想将额外的参数作为一个连续的字符串发送。
我做了以下事情:
在我的第一篇文章中,我发送了文件和客户数据。我将客户保存在数据库中,并将文件存储在tempdata中,以便能够在我的第二篇文章中访问它,我将使用desiered额外参数将文件保存到数据库。
脚本:
spi_register_master
服务器代码,注意不包括整个解决方案:
$.ajax({
url: "/Customer/AddCustomer",
type: 'POST',
data: data,
cache: false,
processData: false,
contentType: false,
success: function (data) {
// "Pictures" is an array that contains objects with all the file names and other properties.
$.ajax({
url: "/Customer/AddCustomerPictures",
type: 'POST',
data: JSON.stringify({ pictureFiles: Pictures}),
contentType: 'application/json; charset=utf-8',
success: function(data) {
//logic
}
});
//logic
},
error: function (event, jqxhr, settings, thrownError) {
//logic
}
});