Como subir archivos a un servidor web con ASPX en C# (C sharp)

Estándar

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

Error 403 o 404 al ejecutar servicio web Asmx o ASP.net Aspx

Estándar

Si al publicar un web service con ASP.NET 2.0 en nuestro servidor web con IIS nos encontramos con errores “HTTP Error 404 – File or Directory not found” o “HTTP Error 403 – Forbidden: Access is denied” debemos revisar ciertos parametros de nuestro servidor IIS.

1. Permisos de carpeta. Aunque es obvio que el usuario anonimo que ejecuta la web deberia tener acceso a las carpetas donde se encuentre el asmx o el aspx no esta de mas revisarlo y aplicarle permisos.

Continuar leyendo

ERP´s o aplicaciones a medida: Argumentos

Estándar

Son muchos clientes y compañeros de profesion los que nos enfrentamos cada cierto tiempo a este dilema, y nunca con un vencedor claro en argumentos a favor o en contra.

El hecho es que a la hora de buscar una solución de gestión para algun negocio o area de negocio,  siempre surgen las dos opciones, ¿implantamos un ERP (SAP, Siebel, ERP´s abiertos) o creamos uno “ad hoc” para nuestro negocio?… pues depende, a saber:

Continuar leyendo

Mostrar errores de ASP con Jquery al usar AJAX (Show ASP errors when using AJAX with jQuery))

Estándar

A continuacion mostramos como sacar los errores ASP cuando trabajamos con AJAX en JQuery.

Basicamente lo que hacemos es en la funcion de error recuperamos el texto a traves de la variable xhr que es enviada de forma automatica a nuestra funcion al ejecutar la llamada.

Esta respuesta la podemos mostrar en un alert o en html.

Continuar leyendo