ASP.NetMVC FileUploadファイルアップロード
4525 ワード
原文住所:http://blog.lichengwu.cn/c-sharp/2010/04/06/ASP.net-MVC-FileUpload/
ASP.NetMVCのアップロードファイル機能は他のモジュール(action,Controller)ほどスマートで使いやすいものではありませんが、複雑ではありません.
vs 2008を開いてMVCプロジェクトを新規作成
Webプロジェクトにaspがない場合.Netmvc webアプリケーションなら、.net MVCをダウンロードしてください
確定したらUnit Testオプションを表示し、必要に応じて選択し、ここでNOを選択します.
まずファイルをアップロードするformを作成し、開きます.
HTML helperでformを作成するには、もちろん純粋なHTMLも使えます
次に対応するactionを作成し、開く
保存後に直接実行
これでテストできます.
ASP.NetMVCのアップロードファイル機能は他のモジュール(action,Controller)ほどスマートで使いやすいものではありませんが、複雑ではありません.
vs 2008を開いてMVCプロジェクトを新規作成
Webプロジェクトにaspがない場合.Netmvc webアプリケーションなら、.net MVCをダウンロードしてください
確定したらUnit Testオプションを表示し、必要に応じて選択し、ここでNOを選択します.
まずファイルをアップロードするformを作成し、開きます.
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を作成し、開く
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();
}
}
}
保存後に直接実行
これでテストできます.