I’ve had to write the code for uploading a file to an MVC application quite a few times and every time I seem to struggle to find a decent example. So, future self, look no further – here is a straightforward example of how to upload a file with MVC.
Change the Form Type
The usual scenario for me is that you would like to allow the user to enter some data into a form and then choose a file to submit with this information.
According to the HTML specification the default form type (application/x-www-form-urlencoded) is inefficient for sending large amounts of binary data. We therefore need to change the form type to multipart/form-data.
Save the File on the Server
ASP.Net will expose the file to us as a collection of HttpPostedFileBase objects.
That’s all we need. Happy coding.