2010-10-29 49 views
1

我試圖把一個頁面放在一起,用戶可以上傳一個文件,並將其轉到數據庫。文件上傳問題MVC - 程序集參考

我下面的教程,和我的控制器的方法,到目前爲止是這樣的:

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> 

我目前獲得兩個編譯錯誤但是:

  1. 「System.Web.HttpPostedFileB ASE」不包含一個定義 ‘HasFile’和沒有擴展方法 ‘HasFile’接受 類型的第一個參數 ‘System.Web.HttpPostedFileBase’可以 可以找到(是否缺少使用 指令或程序集?參考)
  2. 名稱「路徑」並不在當前的背景下

存在這裏也是我使用什麼控制器命名空間的例子:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using System.Web.UI.WebControls; 

如果有人能指出我正確的方向來修復這個錯誤,我將不勝感激。

回答

3

我想我找到了您所關注的tutorial

如果是這樣 - 請檢查作者爲HasFile()方法編寫自定義擴展方法的部分。它不是框架的一部分,所以你也需要創建它。

第二個問題是Path是System.IO命名空間的一部分,所以您也需要添加它。

+0

非常感謝AndyB! – 109221793 2010-10-29 13:58:22