De vez en cuando los que programamos páginas web nos encontramos con la necesidad de que los usuarios puedan subir archivos a un servidor web.
Con estos dos scripts conseguiremos subir un archivo e incluso filtrarlo por tipo y tamaño de una manera facil, usaremos c# para nuestra página aspx.
Aquí tenemos el formulario aspx con el campo para seleccionar el archivo de tipo “file” y el boton para desencadenar el procedimiento en el archivo de codigo prueba.aspx.cs
prueba.aspx
<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”prueba.aspx.cs” Inherits=”_Default” %>
<form id=”form1″ runat=”server”>
<input id=”flimage” runat=”server” type=”file” />
<asp:Button ID=”Button1″ runat=”server” onclick=”Button1_Click” Text=”Enviar Archivo” />
<asp:Label ID=”lblmessage” runat=”server” Text=”"></asp:Label>
</form>
Al presionar el boton de “Enviar Archivo” ejecuta el evento Button1_Click
prueba.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if((flimage.PostedFile!=null)&&(flimage.PostedFile.ContentLength > 0)) //nos aseguramos que el usuario haya cargado un archivo
{
if (flimage.Value.EndsWith(“.JPG”) || flimage.Value.EndsWith(“.jpg”) || flimage.Value.EndsWith(“.ico”) || flimage.Value.EndsWith(“.ICO”) || flimage.Value.EndsWith(“.gif”) || flimage.Value.EndsWith(“.GIF”) || flimage.Value.EndsWith(“.png”) || flimage.Value.EndsWith(“.PNG”)) //revisamos el tipo de archivo que nos interese, en este caso solo dejamos imagenes
{
if (flimage.PostedFile.ContentLength <= 500000) //tambien podemos revisar el tamaño, en este ejemplo 500Kb
{
string fn = System.IO.Path.GetFileName(flimage.PostedFile.FileName);
string SaveLocation = Server.MapPath(@”~\Temporal” ) + “\\” + fn;
try
{
flimage.PostedFile.SaveAs(SaveLocation);
this.lblmessage.Text = “El archivo se ha cargado.”;
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
else
this.lblmessage.Text = “El tamaño del archivo debe ser menor a 50kbs”;
}
else
this.lblmessage.Text = “No se pudo cargar el archivo seleccionado, por favor seleccione una imagen .jpg, .gif o .png”;
}
else
{
this.lblmessage.Text = “Seleccione un archivo que cargar.”;
}
}
}
Fuente: Onglasses.net