ユーザーがファイルをアップロードしてデータベースに移動できるページをまとめようとしています。
私はチュートリアルに従っていますが、これまでのコントローラーメソッドは次のようになります。
public ActionResult Index()
{
ViewData["Message"] = "File Upload";
foreach (string upload in Request.Files)
{
if (!Request.Files[upload].HasFile()) continue;
string path = AppDomain.CurrentDomain.BaseDirectory + "uploads/";
string filename = Path.GetFileName(Request.Files[upload].FileName);
Request.Files[upload].SaveAs(Path.Combine(path, filename));
}
return View();
}
これは私のビューがどのように見えるかの例でもあります:
<p>
<% using (Html.BeginForm("", "home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{ %>
<input type="file" name="FileUpload1" /><br />
<input type="submit" name="Submit" id="Submit" value="Upload" />
<% } %>
</p>
ただし、現在2つのコンパイルエラーが発生しています。
- 'System.Web.HttpPostedFileBase' には 'HasFile' の定義が含まれておらず、タイプ 'System.Web.HttpPostedFileBase' の最初の引数を受け入れる拡張メソッド 'HasFile' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか? ?)
- 名前「パス」は現在のコンテキストに存在しません
これは、コントローラーの名前空間に使用しているものの例でもあります。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.UI.WebControls;
誰かがこのエラーを修正するための正しい方向に私を向けることができれば、私は非常に感謝しています.