Hi everyone i am trying to upload a simple image but the HttpPostedFileBase is always remaining null. This is my code i dont know what i am doing wrong.
This is my code
Can anyone please tell me what is the problem??
There's nothing wrong with the code you have shown. I suspect that the problem comes from the fact that you are submitting this form using an AJAX call and not a normal submit. But as you know you cannot upload files using AJAX. That's why your code is not working. If you want to upload files using AJAX you could use some client side plugin such as Uploadify or Fine uploader. This can also be done natively in HTML5 using the new File API. Of course this will only work in modern browsers that support it. If you need to support legacy browsers some of the available client side upload plugins might help you.
This was driving me crazy too. After hours I realized, that
@Scripts.Render( "~/bundles/jquerymobile")
in _Layout.cshtml was causing the problem. When commented out, the upload worked.
See http://forum.jquery.com/topic/jquery-mobile-seems-to-clobber-ability-to-upload-files-via-forms for details.
Adding
data_ajax="false"attribute to my form solved the problem.
Be sure model.File1 type is HttpPostedFileBase
not HttpPostedFile
and form contains enctype = "multipart/form-data"
attribute.