Я использую jquery form plugin, чтобы передать изображение моему методу действия. Кажется, я не могу установить httppostedfilebase в методе действий на моем контроллере на правильный тип данных.Я не могу передать свой файл 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 = "многослойную/форм-данных" на form в html, возможно, это поможет –
Вам не нужно использовать плагин JQuery Form вообще. Я знаю, что это не прямой ответ на ваш вопрос/проблему. Но я хотел бы предложить вам «короткий и простой» подход к загрузке/загрузке файлов. Пробуйте нижеследующую ссылку на статью. Это объяснит загрузку файлов и загрузку. [Как-к-загрузки-и-загрузка-файлы, асинхронно-используя-Asp-сетчатая MVC-4-5] (https://dotnetriders.wordpress.com/how-to-upload-and-download-files- асинхронно-используя-Asp-сетчатой MVC-4-5 /). И у него есть образец проекта. – RajeshKdev