C'è un modo per definire i controlli di caricamento del file utilizzando un helper Razor in ASP.NET MVC3?Controlli caricamento file tramite Razor in ASP.NET MVC3
risposta
Non c'è un aiuto html per gli ingressi dei file, ma ciò che è sbagliato con solo facendo
@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new {enctype = "multipart/form-data"})) {
<input type='file' name='blah' id='blah' />
}
C'è una classe FileUpload in Microsoft.Web.Helpers ... http://msdn.microsoft.com/en-us/library/microsoft.web.helpers.fileupload(v=vs.99).aspx
La migliore/L'unico modo che ho trovato per ottenerlo è l'utilizzo di NuGet in VisualStudio. Cerca il pacchetto "microsoft-web-helpers" nel repository online. C'è un problema che ho incontrato, tuttavia. Una delle dipendenze del pacchetto è Facebook.Helper, che verrà installato nello stesso momento. Inserirà un file chiamato "Facebook ???. Cshtml" (dimenticato il nome esatto) nella directory AppCode del progetto. Il problema è che Facebook ???. Cshtml aveva alcune dipendenze di WebMatrix che non avevo e non volevo installare. Semplicemente cancellando il file Facebook.cshtml (che non avrei mai usato, comunque) sembrava risolvere il problema. Successivamente, sono stato in grado di compilare e eseguire il debug come al solito e utilizzare la classe FileUpload.
Ecco un tutorial ho scoperto che lo utilizza:
http://blog.tallan.com/2011/02/04/using-mvc3-razor-helpers-and-jcrop-to-upload-and-crop-images/
Quel tutorial è OK, ma non spiega chiaramente quale codice va dove. Suggerirei questo invece dato che si tratta solo di caricare i file (non ridimensionando le immagini): http://blogs.planetcloud.co.uk/mygreatdiscovery/post/Creating-a-multiple-file-upload-form-in -ASPNET-MVC.aspx – Pauk
Il collegamento di Pauk ha ceduto il passo al bitrot. Ecco un [Wayback link] (http://web.archive.org/web/20150712030605/http://blogs.planetcloud.co.uk:80/mygreatdiscovery/post/Creating-a-multiple-file-upload-form -in-ASPNET-MVC.aspx) – jpaugh
UTILIZZO RAZOR
@*requieres installing Asp helpers/you can do it her from NuGet or logging som admin in packages*@
@using Microsoft.Web.Helpers;
@{
var fileName = "";
if (IsPost) {
var fileSavePath = "";
var uploadedFile = Request.Files[0];
fileName = Path.GetFileName(uploadedFile.FileName);
fileSavePath = Server.MapPath("~/UploadedFiles/" +
fileName);
uploadedFile.SaveAs(fileSavePath);
}
}
@FileUpload.GetHtml(
initialNumberOfFiles:1,
allowMoreFilesToBeAdded:false,
includeFormTag:false,
name: "Upload1",
uploadText:"Upload")
@if (IsPost) {
<span>File uploaded!</span><br/>
}
Nessuno di questo login 'IsPost' dovrebbe essere nella vista, tutto appartiene al controller, idealmente diviso tra due metodi, uno dei quali con il decoratore' [HttpPost] '. –
- 1. Concatenazione di stringhe con ASP.NET MVC3 Razor
- 2. Controlli personalizzati con ASP.NET MVC Razor
- 3. pageBaseType in asp.net mvc3 razor - funziona! - No intellisense però?
- 4. Come scrivere il campo html su asp.net MVC3 Razor
- 5. ASP.NET MVC3 Razor - Mantieni la posizione di scorrimento sul postback
- 6. Esporta in file Excel in MVC3 ASP.net
- 7. Caricamento file tramite trascinamento della selezione HTML5 in Asp.net
- 8. Caricamento file ASP.NET WebApi tramite guid ed estensione file
- 9. MVC3, caricamento di file multipli, associazione modello
- 10. ASP.NET MVC3 - textarea con @ Html.EditorFor
- 11. ASP.Net MVC3: Posiziona file .js vicino View anziché cartella Script
- 12. Caricamento di un file 500MB + tramite un'applicazione Web ASP.NET
- 13. Caricamento file ASP.NET
- 14. ASP.NET MVC3 Razor: perdita di intelligenza quando si posiziona la vista in una posizione alternativa?
- 15. Creazione di MVC3 Razor Helper come Helper.BeginForm()
- 16. Come ottenere una risposta "stream" da un'azione in MVC3/Razor?
- 17. ASP.NET MVC3 in IIS 7.5
- 18. Formattare stringhe in ASP.NET Razor
- 19. ASP.NET MVC 3 Razor Performance
- 20. Controllare il file di caricamento del virus in MVC3
- 21. Caricamento file POST tramite URLRequest
- 22. Razor e ereditarietà dell'interfaccia in ASP.NET MVC3: perché non è possibile trovare questa proprietà?
- 23. Pubblica una matrice di oggetti tramite JSON su ASP.Net MVC3
- 24. ASP.NET MVC Razor concatenazione
- 25. Caricamento file tramite Akka HTTP
- 26. Valore chiave di accesso da Web.config in Razor View-MVC3 ASP.NET
- 27. Ottieni il nome dell'area in Visualizzazioni sul tempo di rendering su ASP.NET MVC3 Razor
- 28. Semplice incremento di una variabile locale nelle viste in ASP.NET MVC3 (Razor)
- 29. Limite dimensioni file azione MVC3
- 30. Caricamento file tramite Server.MapPath() e FileUpload.SaveAs()
Nessun cliente convalida lato, fuori dalla scatola. –
Non batte niente fuori dalla scatola – Jimmy
'' FilePath viene fornito come nome della proprietà del modello, quindi puoi usarlo come qualsiasi altro controllo. – PAVITRA