He puesto 4 controles tipo FileUpload y un boton en la pagina, el codigo para subir los archivos al servidor esta escrito en el evento Click del boton.
Para este proyecto descargamos JQuery.js y jQuery.MultiFile.js del sitio JQuery multiple-file-upload plugin site.
El tamaño limite por defecto es 4 mb pero podemos subir archivos de mayor tamaño cambiando la configuracion en el web.config.
El diseño de la pagina sera mas o menos el siguiente:
como se ve hay controles tipo File Upload y el resto que son buttons y label. El codigo html es el siguiente:
<form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server" /> <br /> <asp:FileUpload ID="FileUpload2" runat="server" /> <br /> <asp:FileUpload ID="FileUpload3" runat="server" /> <br /> <asp:FileUpload ID="FileUpload4" runat="server" /> </div> <asp:Button ID="btnUpload" runat="server" onclick="btnUpload_Click" Text="Upload Files"/><br /><br /> <asp:Label ID="lblMessage" runat="server" Text=""></asp:Label> <div> <p>Upload Files Using JQuery</p> <asp:FileUpload ID="FileUploadJquery" runat="server" class="multi"/> <br /><br /> <asp:Button ID="btnJqueryMultipleFiles" runat="server" Text="Upload Files Using Jquery" onclick="btnJqueryMultipleFiles_Click"/> </div> </form>No olviden agregar los 2 javascripts que les mencione arriba esos iran en su proyecto:
Los scripts los agregan despues del head como sigue:
<head runat="server"> <title></title> <script src="jquery.js" type="text/javascript"></script> <script src="jquery.MultiFile.js" type="text/javascript"></script> </head>agregan este namespace en el codigo:
using System.IO;este codigo es para una subida normal:
HttpFileCollection uploads = Request.Files; for (int fileCount = 0; fileCount < uploads.Count; fileCount++) { HttpPostedFile uploadedFile = uploads[fileCount]; string fileName = Path.GetFileName(uploadedFile.FileName); if (uploadedFile.ContentLength > 0 ) { uploadedFile.SaveAs(Server.MapPath("~/Files/") + fileName); lblMessage.Text += fileName + " Uploadedy el codigo de abajo es para una subida con JQuery(lo colocan ambos codigos dentro del evento click):
"; } }
HttpFileCollection uploads = Request.Files; for (int fileCount = 0; fileCount < uploads.Count; fileCount++) { HttpPostedFile uploadedFile = uploads[fileCount]; string fileName = Path.GetFileName(uploadedFile.FileName); if (uploadedFile.ContentLength > 0) { uploadedFile.SaveAs(Server.MapPath("~/Files/") + fileName); lblMessage.Text += fileName + "UploadedY al ejecutar nuestro codigo saldra asi:vamos a la carpeta files de nuestro proyecto y ahi se encontraran los archivos que hayamos subido, y si lo hacen con el boton de JQuery saldra igual solo que para no ahcer pesado el gif lo probe con el primero =)
"; } }
Saludos
ResponderEliminarCon este codigo,¿Como puedo comprobar que en cada fileupload se haya cargado o seleccionado un archivo por el usuario?
Gracias