Damoin Web Services

Blog de Social Media y Desarrollo Web

Aspx Access to the path is denied

Español:
Esto sucede porque el usuario con el que se esta ejecutando el código aspx no tiene permisos de escritura al directorio que se muestra en el fallo.

Para arreglarlo usaremos la orden <%= Environment.UserName %> en nuestro código aspx, esto nos da el usuario que esta ejecutando el código y al cual debemos dar permisos de escritura en el directorio.

English:
This is because the user that is running on aspx code does not have write permissions to the directory shown in the error log.

To fix this use the command <% = Environment.UserName%> in our aspx code, this gives the user who is running the code and to which we must give write permissions on the server folder.

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

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

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 403Forbidden: 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.

Si te interesa, sigue leyendo…