Загрузить файл Выпуск MVC - Ссылка на сборку
-
27-09-2019 - |
Вопрос
Я пытаюсь собрать страницу, в результате чего пользователь может загрузить файл, и он идет в базу данных.
Я следую в руководстве, и мой метод контроллера пока выглядит так:
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>
В настоящее время я получаю два ошибки компиляции:
- «System.Web.httppostedfilebase» не содержит определения для «hasfile» и отсутствие метода расширения «Hasfile», принимая первый аргумент типа «System.Web.httppostedfilebase» (вы отсутствуете на директиру с использованием или ссылка на сборку ?)
- Имя «Путь» не существует в текущем контексте
Вот также пример того, что я использую для пространств имен в контроллере:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.UI.WebControls;
Я был бы очень признателен, если бы кто-нибудь мог указать мне в правильном направлении, чтобы исправить эту ошибку.
Решение
Я думаю, что нашел руководство Вы следули?
Если это так - установите часть, где автор написал пользовательский метод расширения для метода HASFILE (). Это не является частью структуры, поэтому вам нужно также создать это.
Второй выпуск в том, что путь является частью пространства имен System.io, поэтому вам нужно будет добавить это тоже.