ASP.NetMVC FileUploadファイルアップロード


原文住所:http://blog.lichengwu.cn/c-sharp/2010/04/06/ASP.net-MVC-FileUpload/
 
 
 
ASP.NetMVCのアップロードファイル機能は他のモジュール(action,Controller)ほどスマートで使いやすいものではありませんが、複雑ではありません.
vs 2008を開いてMVCプロジェクトを新規作成
ASP.net MVC FileUpload 文件上传_第1张图片
Webプロジェクトにaspがない場合.Netmvc webアプリケーションなら、.net MVCをダウンロードしてください
確定したらUnit Testオプションを表示し、必要に応じて選択し、ここでNOを選択します.
ASP.net MVC FileUpload 文件上传_第2张图片
まずファイルをアップロードするformを作成し、開きます.
ASP.net MVC FileUpload 文件上传_第3张图片
HTML helperでformを作成するには、もちろん純粋なHTMLも使えます
<asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server"> 
    Home Page 
</asp:Content> 

<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server"> 
    <h2>File Upload Example</h2> 
    <p> 
     
         
          File 1:<input type="file" name="file1" id="file1" /><br /> 
           <input type="submit" id="upload" value="Upload" /> 
         
    </p> 
</asp:Content> 
 
次に対応するactionを作成し、開く
ASP.net MVC FileUpload 文件上传_第4张图片
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using System.Text; 
using System.IO; 

namespace FileUpload.Controllers 
{ 
    [HandleError] 
    public class HomeController : Controller 
    { 
        public ActionResult Index() 
        { 
            //ViewData["Message"] = "Welcome to ASP.NET MVC!"; 

            return View(); 
        } 
        public ActionResult Upload() 
        { 
            StringBuilder info = new StringBuilder(); 
            foreach (string file in Request.Files) 
            { 
                HttpPostedFileBase postFile = Request.Files[file];//get post file 
                if (postFile.ContentLength == 0) 
                    continue; 
                string newFilePath = @"D:/";//save path 
                postFile.SaveAs(newFilePath + Path.GetFileName(postFile.FileName));//save file 
                info.AppendFormat("Upload File:{0}/r/n", postFile.FileName);//info 
            } 
            ViewData["Info"] = info; 
            return View("Index"); 
        } 

        public ActionResult About() 
        { 
            return View(); 
        } 
    } 
} 
 
保存後に直接実行
ASP.net MVC FileUpload 文件上传_第5张图片
 
これでテストできます.