【发布时间】:2015-05-18 03:31:38
【问题描述】:
我正在使用jquery form plugin 将图像传递给我的操作方法。我似乎无法将控制器上 action 方法中的 httppostedfilebase 设置为正确的数据类型。
$('#imageform').submit(function () {
var id = $('#selectedFile').data('id');
//var filename = $('#selectedFile').val(); //.files[0];
//var filename = document.getElementById('selectedFile').files[0];
//var filename = input.files[0];
var filename = $('#selectedFile').prop('files');
var options = {
target: '#output',
enctype: 'multipart/form-data',
beforeSubmit: showRequest,
success: showResponse,
url: '/ManageSpaces/UploadImage',
data: {
id: id,
image: filename[0]
},
type: 'post'
};
$('#imageform').ajaxSubmit(options);
return false;
});
这是我的控制器的操作方法。
[HttpPost]
public ActionResult UploadImage(int id, HttpPostedFileBase image)
{
//do some stuff here
return Json("Saved");
}
html表单数据
<form id="imageform" enctype="multipart/form-data">
<input type="file" id="selectedFile" name="selectedFile" style="display: none;" data-id='@Model.YogaSpaceId' />
<input type="button" value="Add Photos" class="btn" id="pictureupload" />
</form>
【问题讨论】:
-
请发布您的 HTML
-
尝试将 enctype="multipart/form-data" 添加到 html 中的表单中,也许会有所帮助
-
您根本不需要使用 Jquery 表单插件。我知道这不是您的问题/问题的直接答案。但我想建议您使用“简短而简单”的方法来上传/下载文件。试试下面的文章链接。这将解释文件上传和下载。 How-to-upload-and-download-files-asynchronously-using-asp-net-mvc-4-5。它也有示例项目。
标签: javascript jquery asp.net-mvc