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:

  
      
  1. '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?)
  2.   
  3. Il nome 'percorso' non esiste nel contesto corrente
  4.   

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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top