
рдирдИ рддрдХрдиреАрдХреЛрдВ рдХреЛ рд╕реАрдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдХреНрд╕рд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рд╣рд▓ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП MVC3 рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ, рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдпреЗрдХрд╛рддреЗрд░рд┐рдирдмрд░реНрдЧ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдореНрдореЗрд▓рди рдореЗрдВ, рдЬрд╣рд╛рдВ рдореИрдВрдиреЗ ASP.NET рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереА, рдореБрдЭрд╕реЗ рдПрдХ рд╕рд╡рд╛рд▓ рдкреВрдЫрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЕрдкрд▓реЛрдб рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MVC3 рдФрд░ рд░реЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп, рдЬреЛ ASP.NET MVC3 рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдврдВрдЧ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдиреАрдЪреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рд╣реИред
рдЕрдВрдХрди
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЪрд▓рд┐рдП рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ Index.cshtml рдкреЗрдЬ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрдЕрдк рдмрдирд╛рддреЗ рд╣реИрдВ:
<h2> </h2> <p> @using (Html.BeginForm("", "home", FormMethod.Post, new {enctype="multipart/form-data"})) { <input type="file" name="fileUpload" /><br /> <input type="submit" name="Submit" id="SubmitSingle" value="Upload" /> } </p> <h2> </h2> <p> @using (Html.BeginForm("", "home", FormMethod.Post, new {enctype="multipart/form-data"})) { <input type="file" name="fileUpload[0]" /><br /> <input type="file" name="fileUpload[1]" /><br /> <input type="file" name="fileUpload[2]" /><br /> <input type="submit" name="Submit" id="SubmitMultiply" value="Upload" /> } </p>
рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИрдВ:
- рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, MIME рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдорд▓реНрдЯреАрдкрд╛рд░реНрдЯ / рдлреЙрд░реНрдо-рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
- рдХрдИ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдлреЙрд░реНрдо рдмрдирд╛рддреЗ рд╕рдордп, рдЗрдВрдбреЗрдХреНрд╕рд░реНрд╕ [рд╕рдВред] рдХреЗ рд╕рд╛рде рддрддреНрд╡ рдирд╛рдо (рдирд╛рдо рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ) рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣ ASP.NET MVC3 рд╕рдореНрдореЗрд▓рди рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдорд╛рд░реНрдХрдЕрдк рдХреЛрдб рддреБрдЪреНрдЫ рд╣реИред
рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдПрдХреНрд╢рди рдХреЛрдб
рдкреЛрд╕реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдФрд░ рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реЛрдо рдирд┐рдпрдВрддреНрд░рдХ рдЬреЛрдбрд╝реЗрдВ:
[HttpPost] public ActionResult Index(IEnumerable<HttpPostedFileBase> fileUpload) { foreach (var file in fileUpload) { if (file == null) continue; string path = AppDomain.CurrentDomain.BaseDirectory + "UploadedFiles/"; string filename = Path.GetFileName(file.FileName); if (filename != null) file.SaveAs(Path.Combine(path, filename)); } return RedirectToAction("Index"); }
рдпрд╣рд╛рдБ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИрдВ:
- HttpPost рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ POST рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛;
- IEnumerable <HttpPostedFileBase> fileUpload рдкреИрд░рд╛рдореАрдЯрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ fileUpload рдирд╛рдо рдЙрди рддрддреНрд╡реЛрдВ рдХреЗ рдирд╛рдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдореВрд▓реНрдп рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕ [рд╕рдВ] рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрд╣ рдЗрдВрдбреЗрдХреНрд╕рд░реНрд╕ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реИ рдЬреЛ рдПрдорд╡реАрд╕реА 3 рдХреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдлрд┐рд░ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛрдб рдорд╛рд░реНрдХрдЕрдк рдХреЛрдб рд╕реЗ рдХрдо рддреБрдЪреНрдЫ рдирд╣реАрдВ рд╣реИред
рдЕрдиреБрд░реЛрдз рдЖрдХрд╛рд░ рдФрд░ web.config рдкрд░ рд╕реАрдорд╛
ASP.NET рдХреЗ рдкрд╛рд╕ рдЕрдиреБрд░реЛрдз рдХреЗ рдЖрдХрд╛рд░ рдХреА рдПрдХ рд╕реАрдорд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рддрд┐рдмрдВрдз рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╣рдорд▓реЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдлрд┐рд░ рднреА, рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдирд╛рддреЗ рд╕рдордп, рдЦрд╛рд╕рдХрд░ рдЬрдм рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рдмрдбрд╝реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдкреНрд░рддрд┐рдмрдВрдз рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдореВрд▓реНрдп рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдзрд┐рдХрддрдо рдЕрдиреБрд░реЛрдз рдЖрдХрд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ web.config рдореЗрдВ рд╣реИ:
<system.web> <httpRuntime maxRequestLength="10000" />
MaxRequestLength рдкреИрд░рд╛рдореАрдЯрд░ рдХрд┐рд▓реЛрдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ, рдЕрдиреБрд░реЛрдз рд╕реАрдорд╛ ~ 10 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╣реИред рдпрд╣реА рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдЖрдХрд╛рд░ рдореЗрдВ рд▓рдЧрднрдЧ рджрд╕ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдХреА рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рд╣реА рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдХреБрдЫ рдмрд╛рдзреНрдпрдХрд╛рд░реА рднреА рд╣реИрдВ рдЬреЛ рдЕрдиреБрд░реЛрдз рдбреЗрдЯрд╛ рднреА рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣ рдмрдВрдзрди рдЫреЛрдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреБрд░реЛрдз рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рд╕реАрдорд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЛрд░реНрд╕ рдХреЛрдб
рдЖрдк
рдЗрд╕ рд▓рд┐рдВрдХ рд╕реЗ Visual Studio 2010 рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред