9

I would like to be able to post multiple files in one form. I would like to pass these files as an array of files. For example I would like to do this.

<input type="file" name="files[0]" />
<input type="file" name="files[1]" />
<input type="file" name="files[2]" />

Then I would like to be able to receive these files as an array in the Controller. I've tried this.

public ActionResult AddPart(HttpPostedFileBase[] files)

But that doesn't work. I've googled it but all I can find is examples on uploading one file. Does anyone know how to do this using MVC3 C#.

2 Answers 2

5

If you want to upload not only one file, you need to use enctype="multipart/form-data" in your form.

@using (Html.BeginForm("", "Client", FormMethod.Post, new {enctype="multipart/form-data"}))

And controller:

[HttpPost]
public ActionResult AddPart(IEnumerable<HttpPostedFileBase> files) 

All other parts is ok.

Sign up to request clarification or add additional context in comments.

1 Comment

Is there something else that I could be missing because what you posted as a solution didn't seem to work.
0

Well i got almost a same case. But that is for nested array of files.

using IEnumerable as an array([ ]) solved my problem. [] s

[HttpPost]
public ActionResult AddPart(IEnumerable<HttpPostedFileBase>[] files)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.