Estimados, estoy por incorporar a mi webapp (C# - Winforms aun en ASPNET) la capacidad de subir un archivo al server que luego va a ir a una DB (mi proveedor de hosting no me habilita FileStream asi que voy a tener que guardarlo como varbinary). Serán archivos “livianos” de todos modos.
La parte de guardar en DB creo tenerla resuelta con un codigo similar el de uno de estos ejemplos: http://www.morgantechspace.com/2014/05/How-to-Store-and-Retrieve-Image-in-SQL-Server-Database.html De lo que no estoy seguro, es cual es la major estrategia para subir el archivo del navegador al server. Primero imaginé usar un WebMethod y AJAX, como vengo hacienda para todo el resto de las operaciones del usuario contra el server, y dentro del metodo estatico que se pública como WebMethod recibir los bytes y luego pasarlos a la función que graba en la DB. Pero buscando y leyendo parece que no es possible subir un archivo con AJAX y WebMethod (mi objetivo es evitar el postback). Mal que me pese, parece que mi alternativa es ir por controles ASP como FileUpload. En concreto queria consultartes: ¿Es hoy en dia FileUpload una opcion viable/adecuada? ¿Es possible usar FileUpload pero sin persistir los archivos en disco antes de mandarlos a la DB? (mi objetivo es recibir los bytes y “mandarlos” a la DB para evitar archivos huerfanos en posibles fallos y ademas evitar tener que lidiar con permisos y/o nombres duplicados) Si no entendí mal, al usar fileupload tendré que usar el “truco” de ponerlo como un iframe para que la pagina donde está mi usuario operando no haga un postback completo. ¿Comprendí bien la teoria de la tecnica? Como veran, son preguntas más de recomendaciones que un pedido de codigo especifico. Es solo que antes de ponerme a escribir codigo y provar queria mas o menos entender si estoy yendo por los caminos adecuados. gracias! Joe
