problema di caricamento file MVC - riferimento di assieme
-
27-09-2019 - |
Domanda
Sto cercando di mettere insieme una pagina in cui un utente può caricare un file, e va a un database.
Sto seguendo un tutorial, e il mio metodo di controllo sembra così lontano in questo modo:
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();
}
Ecco un esempio di quello che i miei vista appare come segue:
<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>
Al momento sto ricevendo due errori di compilazione invece:
- 'System.Web.HttpPostedFileBase' non contiene una definizione per 'HasFile' e nessun metodo di estensione 'HasFile' accettare un primo argomento di tipo 'System.Web.HttpPostedFileBase' possibile essere trovata (che le manca un utilizzando una direttiva o un riferimento all'assembly?)
- Il nome 'percorso' non esiste nel contesto corrente
Qui si trova anche un esempio di quello che sto utilizzando per gli spazi dei nomi nel controller:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.UI.WebControls;
sarei molto grato se qualcuno mi potrebbe punto nella giusta direzione per correggere questo errore.
Soluzione
Credo di aver trovato il esercitazione stavi seguendo?
Se è così - controllare la parte in cui l'autore ha scritto un metodo di estensione personalizzata per il metodo HasFile (). Non è parte del quadro, in modo che avrebbe bisogno di creare anche questo.
Il secondo problema è che il percorso fa parte dello spazio dei nomi System.IO, in modo che avrebbe bisogno di aggiungere anche questo.