【发布时间】:2014-03-09 09:12:43
【问题描述】:
当通过 ajax 将上传的文件传递给 asp.net MVC 控制器时,文件属性在控制器中显示为空值。
document.getElementById('fileUpload').files[0] 操作获取的图像文件对象并转换为JSON.stringify(fileName) 但是当将该对象传递给 asp.net mvc 控制器时
它在 mvc 控制器中显示空值。
如果有人知道如何将该文件传递给 ajax 到 mvc 控制器,请发布您的答案
管理员控制器
[HttpPost]
public string AddRetailer(HttpPostedFileBase file, string storeName, string storeUrl, string ecommercePlatform)
{
try {
Bswayed.Admin.Retailer retailer = new Bswayed.Admin.Retailer();
return JsonConvert.SerializeObject(data);
} catch (Exception ex) {
throw ex;
}
}
Asp.net 上传表单
<input type="file" id="fileUpload" name="fileUpload" onchange="this.parentNode.nextSibling.value = this.value"/>Browse
<input class="input-lg"
@Html.TextBoxFor(Model => Model.StoreLogo, new { placeholder=@ViewBag.StoreLogo})
Java 脚本(Ajax)
function AddRetailer()
{
try {
var storeName = $("#StoreName").val();
var storeUrl = $("#StoreURL").val();
var retailerLogoPath = $("#StoreLogo").val();
var ecommercePlatform = $("#EcommercePlatform").val();
var fileName = document.getElementById('fileUpload').files[0]
$.ajax({
url: $("#addRetailer").val(),
cache: false,
type: "POST",
data: {
file:JSON.stringify(fileName),
storeName: storeName,
storeUrl: storeUrl,
ecommercePlatform: ecommercePlatform
},
dataType: "json",
success: function (data) {
},
error: function (resp) {
alert(resp);
}
});
}
catch (e) {
}
}
【问题讨论】:
-
我不确定...我们可以对文件进行字符串化...吗?
标签: javascript ajax asp.net-mvc json