Sono nuovo di mvc e sono bloccato con un problema. Ho cercato dappertutto una risposta e non sono riuscita a trovarne una, ma sono sicuro che qualcosa mi ha saltato. Il problema è che non so come accedere ad un file dopo averlo caricato nella cartella App_Data. Io uso lo stesso codice che ho trovato su tutti i forum:Come visualizzare un file dopo averlo caricato su App_Data/Upload in MVC 3 con Razor?
Per mio punto di vista io uso questo
@using (Html.BeginForm("Index", "Home", FormMethod.Post,
new { enctype="multipart/form-data" }))
{
<input type="file" name="file" />
<input type="submit" value="submit" />
}
Per il mio controller io uso questo
public class HomeController : Controller
{
// This action renders the form
public ActionResult Index()
{
return View();
}
// This action handles the form POST and the upload
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
// Verify that the user selected a file
if (file != null && file.ContentLength > 0)
{
// extract only the fielname
var fileName = Path.GetFileName(file.FileName);
// store the file inside ~/App_Data/uploads folder
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
}
// redirect back to the index action to show the form once again
return RedirectToAction("Index");
}
}
Il mio modello è
public class FileDescription
{
public int FileDescriptionId { get; set; }
public string Name { get; set; }
public string WebPath { get; set; }
public long Size { get; set; }
public DateTime DateCreated { get; set; }
}
Il fatto è che voglio caricare un file nel database e quindi il WebPath come collegamento al mio file. Spero di essere stato abbastanza chiaro. Qualsiasi aiuto sarebbe molto apprezzato. Grazie
voglio che la mia base di dati per mantenere solo il percorso del file, non il file stesso. – Robert
Puoi definire cosa intendi per "visualizzare un file", vuoi visualizzarlo come link o vuoi visualizzare il contenuto reale del file? –