asp.Netmvcアップロード画像

4834 ワード

MVCに出会ったばかりの頃、練習のためにMVCで小さなサイトを作って慣れることにしましたが、やっているうちに画像をアップロードする必要があるという問題に遭遇したので、この文章もありました.上級者は迂回してください.
コードは簡単で、一度に複数の画像をアップロードすることができます.あまり話さないで、直接コードをつけます.
フロントコード【view】:
 
@using (Html.BeginForm("UpImage", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <div id="div_upimg">
        <input name="upimg" type="file" /><input type="button" value="    " onclick="add()" /><br />
    </div>
    <input type="submit" value="     " />
}
<script type="text/javascript">
    add = function () {
        var _file = $("#div_upimg [type=file]");
        $("#div_upimg").append("<input type=\"file\" id=\"upimg" + _file.length + "\" name=\"upimg" + _file.length + "\" /><br />");
    }

</script>

 
バックグラウンドコード【コントローラ】:
[HttpPost]
        public ActionResult UpImage()
        {
            DateTime timeNow = DateTime.Now;
            string year = timeNow.Year.ToString();
            string month = timeNow.Month.ToString();
            string day = timeNow.Day.ToString();
            string uploadPath = Server.MapPath(year + "\\" + month + "\\" + day);
            if (!Directory.Exists(uploadPath))
            {
                Directory.CreateDirectory(uploadPath);
            }
            HttpFileCollectionBase files = Request.Files;
            for (int i = 0; i < files.Count; i++)
            {
                if (files[i] != null)
                    files[i].SaveAs(uploadPath + "\\" + files[i].FileName);
            }
            return Content("<script>alert('OK')</script>");
        }

OK、これだけのコードで、簡単でしょう.