我想将图像和几个表单元素上传到MVC控制器。这里的问题不是模型没有被填充,因为它适用于application/x-www-form-urlencoded
,但似乎与multipart/form-data
有关。问题的核心是,Request.Form
没有被填充...FormData不传回给MVC控制器
转换表到FORMDATA:
function frmValuesAsFormData(submittedForm) {
return new FormData(submittedForm);
}
AJAX功能(asFormData在为真正的传递在这种情况下和方法是POST和数据类型是JSON):
function executeAJAX(method, url, data, asFormData, silent, callbackFunc, receiveFunc, dataType, targetDiv, appendToExistingContent, uid) {
var cType = "application/x-www-form-urlencoded";
var processData = true;
if (asFormData) {
cType = "multipart/form-data";
processData = false;
}
$.ajax({
method: method,
url: url,
data: data,
contentType: cType,
cache: false,
dataType: dataType,
processData: processData,
success: function (d, t, j) {
// Do something with result from controller...
}
});
}
POST标头(来自萤火虫)
接受应用/ JSON,叔ext/javascript,/; Q = 0.01 接受编码的gzip,放气接受语言烯GB,EN; Q = 0.5 内容长度936的内容类型的multipart/form-data的曲奇 ASP.NET_SessionId = mzppxvimv03qb0smtyrgdw3z主机本地主机:64727 Referer的http://localhost:64727/Home/Contact用户-agent的Mozilla/5.0 (Windows NT的10.0; Win64的; 64; RV:50.0)壁虎/ 20100101火狐/ 50.0 X-请求-使用XMLHttpRequest
POST实施例(来自萤火虫):
----------------------------- 26439188689323内容处理:fo RM-数据; NAME = “的图像文件中”;文件名= “WWKDK33.jpg” 的Content-Type: 图像/ JPEG
PNG IHDR “” xÕj7IDATxÚíÚK ÐÞÿÒzB3〜TH,OB |nHàøÈ乙“B”D!B!B“D”D!B $ !B“Dcdtå” Õl B“D!B ô”“”D!B URi,ÖÕ“D!BQ/Q:[[* E”D!B'a¼ÙôWÿéf“D!B¢] HæL〜eD! B“DöÍ_ÉòGGkA”D!BèD±}Çõò4 !B“DZôÀ½rª ”D!B¢eD¡¡¡¡¡øøk!B “D!ZGÔ;¯49ÛD!B”D“cöÊ@fåQ^ D!B” D®I'_A| Ci @ J!B“DÝ(s° ”D!B¢{7£“D!B”D½DgBænt¿“D!BÑÖý¤ôm ”D!B“D”D!B $! B “A” d d B “A” d SS!|!UY Æ ®« IEND®B` ----------------------------- 26439188689323内容处理:表单数据; NAME = “uploaderMode”
比赛 ----------------------------- 26439188689323--
任何人任何线索为什么它不起作用?谢谢!
人,你在这里从救了我几个小时的痛苦!:D 像梦一样工作,谢谢。 – BartWD