Estoy tratando de cargar archivos dentro de MVC. La mayoría de la solución que vi en SO es usar webform. No quiero usar eso y personalmente prefiero usar transmisiones. ¿Cómo se implementa la carga de archivos RESTful en MVC? ¡Gracias!Carga de archivos en MVC
7
A
Respuesta
13
Edit: Y justo cuando crees que lo tienes todo resuelto, te das cuenta de que hay una mejor manera. Echa un vistazo a http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx
original: No estoy seguro de que entiendo su pregunta 100%, pero supongo que desea cargar un archivo a una dirección URL que se ve algo como http: // {nombre del servidor}/{Controlador}/¿Subir? Esto se implementaría exactamente como una carga de archivo normal utilizando formularios web.
Así que su controlador tiene una llamada de subida acción y es similar a esto:
//For MVC ver 2 use:
[HttpPost]
//For MVC ver 1 use:
//[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Upload()
{
try
{
foreach (HttpPostedFile file in Request.Files)
{
//Save to a file
file.SaveAs(Path.Combine("C:\\File_Store\\", Path.GetFileName(file.FileName)));
// * OR *
//Use file.InputStream to access the uploaded file as a stream
byte[] buffer = new byte[1024];
int read = file.InputStream.Read(buffer, 0, buffer.Length);
while (read > 0)
{
//do stuff with the buffer
read = file.InputStream.Read(buffer, 0, buffer.Length);
}
}
return Json(new { Result = "Complete" });
}
catch (Exception)
{
return Json(new { Result = "Error" });
}
}
En este caso voy a volver JSON para indicar el éxito, pero se puede cambiar esto a XML (o lo que fuera) si es necesario.
0
public ActionResult register(FormCollection collection, HttpPostedFileBase FileUpload1){
RegistrationIMG regimg = new RegistrationIMG();
string ext = Path.GetExtension(FileUpload1.FileName);
string path = Server.MapPath("~/image/");
FileUpload1.SaveAs(path + reg.email + ext);
regimg.Image = @Url.Content("~/image/" + reg.email + ext);
db.SaveChanges();}
Cuestiones relacionadas
- 1. de carga de archivos Ajax jQuery en asp.net mvc
- 2. Carga de archivos múltiples con ASP.NET MVC y jQuery Complemento de carga de archivos múltiples
- 3. ASP.NET MVC 3: ¿Admite la carga de múltiples archivos HTML5?
- 4. Carga de archivo grande en asp.net MVC
- 5. Carga de archivos con Sinatra
- 6. Carga de archivos ASP.NET
- 7. de carga de imágenes en ASP.NET MVC
- 8. Carga de archivos reanudables
- 9. Carga de archivos ASMX
- 10. ASP.Net MVC Indicador de carga en progreso
- 11. Archivos de carga de Clojure
- 12. Carga de archivos de JAR en Scala
- 13. Carga de archivos con la barra de progreso en Asp.Net Mvc/jQuery?
- 14. MVC3 Valums Ajax Carga de archivos
- 15. Carga de archivos usando RichFaces
- 16. carga de archivos sin activerecord
- 17. Carga de archivos demasiado grande
- 18. Carga de archivos con SFTP
- 19. Carga de archivos con Backbone
- 20. Html 5 Carga de archivos
- 21. ¿Carga masiva de archivos en SQL Azure?
- 22. Carga de archivos en el módulo joomla
- 23. problema en la carga de archivos
- 24. carga de archivos remoto en griales
- 25. Carga de archivos no en/tmp
- 26. Carga de varios archivos en Grails
- 27. Carga de archivos HTTP asíncronos en cola
- 28. Carga de archivos en Ruby on Rails
- 29. Carga de archivos CSV en MySQL Workbench
- 30. Carga de varios archivos en blobstore (redux)
Y, obviamente, SIEMPRE asegúrese de que no solo está aceptando cualquier basura vieja de un usuario. El control mínimo sería el tipo de contenido, la extensión y ejecutarlo a través de un escáner de virus antes de confiar en él. :) – ZombieSheep
Varíe cierto, ZombieSheep, necesita comprobar TODO lo que envía un cliente por el servidor, incluso si lo ha validado en el cliente, pero todas las cosas "preparadas para producción" se interponen en el camino del punto que está intentando demostrar. – Geoff
¡Gracias! Pero esa es la forma en que uso actualmente. No quiero guardar ningún archivo en el servidor porque contaminará el servidor. – Roy