Опубликованный файл dropzone.js и ASP.NET MVC имеет значение null?

Я пытаюсь использовать dropzone.js для загрузки изображений в мое приложение ASP.NET MVC. Я могу программно настроить дропзону, щелкнуть по ней, выбрать изображение, и когда я нажимаю «Открыть» в диалоговом окне файла, в контроллере выполняется правильное действие. Однако HttpPostedFileBase всегда возвращается как null, поэтому я ничего не могу сделать с изображением. Однако на стороне клиента он правильно показывает миниатюру изображения, хотя я не могу получить ее на стороне сервера.

Это HTML:

<div style="float:left;margin-right:2px;" id="mainImage">
    <img src="/images/AddImage_button.png" class="dz-message" />
</div>

Это код js, который я вызываю после того, как документ готов:

var myDropzone = new Dropzone("div#mainImage", { url: "/Market/UploadImage" });

А это вызов действия внутри контроллера:

public ContentResult UploadImage(HttpPostedFileBase imageFile)
{

    if (imageFile == null || imageFile.ContentLength == 0)
    {
    //.....
    }
}

Действие выполнено, но imageFile имеет значение null. У кого-нибудь есть идеи? Кстати, класс "dz-message" был добавлен в заполнитель изображения внутри дропзоны, потому что до этого он был некликабельным. Я где-то читал, что это решение этой проблемы, и оно сработало.

Любые идеи, почему я получаю null для imageFile?


person user2623997    schedule 07.12.2013    source источник
comment
Имя параметра по умолчанию, которое использует Dropzone, — file, а ваше — imageFile. Поменяй imageFile на file и все заработает   -  person Catalin    schedule 09.12.2013
comment
Вот оно. Спасибо!   -  person user2623997    schedule 10.12.2013
comment
@RaraituL опубликуйте это как ответ .... это хорошая помощь для новичков, таких как я.   -  person Suhail Mumtaz Awan    schedule 11.01.2016
comment
@suhailMumtazAwan готово   -  person Catalin    schedule 11.01.2016


Ответы (2)


Имя параметра по умолчанию, которое использует Dropzone, — file, а ваше — imageFile. Поменяй imageFile на file и все заработает

person Catalin    schedule 11.01.2016

Есть небольшая поправка, которую вы можете пропустить.

Случалось со мной много раз,

Элемент формы, который вы используете, должен иметь атрибут enctype, установленный следующим образом:

<form action="~/Home/SaveUploadedFile" method="post" enctype="multipart/form-data"/>
person Mohfath    schedule 27.03.2016