• Sábado 16 de Noviembre de 2024, 04:55

Autor Tema:  Problemas En Subir Archivos Al Servidor  (Leído 1653 veces)

sanca

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Problemas En Subir Archivos Al Servidor
« en: Lunes 24 de Julio de 2006, 18:01 »
0
Buenos días.

Estoy intentando subir archivos al servidor web donde se encuentra la aplicación.

El Código es el siguiente:

private void btnAdjuntar_Click(object sender, System.EventArgs e)
{
  string strFileName;   
  string ruta;
  string servidor;
  HttpPostedFile objFile;

  servidor = Server.MapPath(".");
  ruta = servidor + "\\adjuntos";
  for (int i=0; i<Request.Files.Count; i++)
  {
    objFile = Request.Files;
    if (objFile.FileName != "")
    {
      strFileName = objFile.FileName;
      strFileName = strFileName.Substring(strFileName.LastIndexOf("\\")+1);
      
      try
      {
        objFile.SaveAs(ruta + "\\" + strFileName);
        lblAdjuntar.Text = "Cargado en : " + ruta + "\\" + strFileName;
      }
      catch (Exception err)
      {
        lblAdjuntar.Text+= "Failed uploading "+strFileName+": "+err.ToString();
      }
    }//end if
  }//end for      
}


En la carpeta donde voy a subir los archivos le concedieron permisos de lectura y escritura a los usuarios:  ASP.NET machine Account(miservidor\ASPNET) y a
Internet Guest Account (miservidor\IUSR_miservidor).

Más sin embargo a la hora de realizar el upload de los archivos me sale el siguiente error:

Failed uploading mkaut1mqna.4gl: System.UnauthorizedAccessException: Access to the path "E:\Carpak\Sugerencias\adjuntos\mkaut1mqna.4gl" is denied. at System.IO.__Error.WinIOError(Int32 errorCode, String str) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode) at System.Web.HttpPostedFile.SaveAs(String filename) at Sugerencias.Sug_Adjuntos.btnAdjuntar_Click(Object sender, EventArgs e)

La verdad no se que más permisos debo asignarle a la carpeta o que seguridad ha y que deshabilitar, un puerto o algo por el estilo.

Por favor cualquier respuesta a este problema sería de mucha ayuda.

Gracias,

Sandra.   :D

xcx

  • Miembro MUY activo
  • ***
  • Mensajes: 175
  • Nacionalidad: cl
    • Ver Perfil
    • Fotos y captura
Re: Problemas En Subir Archivos Al Servidor
« Respuesta #1 en: Jueves 27 de Julio de 2006, 16:25 »
0
Hola, a mi me funciona impeque.. sorry por lo corto de mi post, pero tengo mucho trabajo y no había entrado hace time al foro...
en la parte de la declaración del vb...
Código: Text
  1.  
  2. Protected WithEvents txtUpload As System.Web.UI.HtmlControls.HtmlInputFile
  3.  
  4.  
en algun método.. Necesitaba crear un directorio con un id de ciertas publicaciones... después de ello, recibía el nombre del archivo y la extensión para validar si era un gif, en otro lado del código si era pdf y así...
finalmente si era lo que se requería, se usaba el SaveAs...
Por supuesto, dentro de try catch respectivos para controlar errores,
Código: Text
  1.  
  2. dirPath = Server.MapPath(&#34;~&#092;public&#092;Secciones&#092;SeccionPublicaciones&#092;doc&#092;&#34; & objAddPublicaciones.idPublicacion & &#34;&#092;&#34;)
  3.                 Directory.CreateDirectory(dirPath)
  4.                 Dim TargetPath = dirPath & Path.GetFileName(objAddPublicaciones.idPublicacion & Path.GetExtension(txtUpload.PostedFile.FileName))
  5.  
  6.                 If Path.GetExtension(txtUpload.PostedFile.FileName) &#60;&#62; &#34;.gif&#34; And Path.GetExtension(txtUpload.PostedFile.FileName) &#60;&#62; &#34;.jpg&#34; Then
  7.                     MsgBox1.ShowMessage(&#34;Solo se está permitido subir imágenes gif o jpg&#34;)
  8.                     Exit Sub
  9.                 End If
  10.                 txtUpload.PostedFile.SaveAs(TargetPath)
  11.  
  12.  
en la página aspx
Código: Text
  1.  
  2. ...
  3. &#60;input class=&#34;textazul&#34; id=&#34;txtUpload&#34; type=&#34;file&#34; size=&#34;30&#34; name=&#34;archivo&#34; runat=&#34;server&#34;&#62;
  4. ...
  5.  
  6.  
Tambien en alguna parte se seteaba el tamaño máximo del archivo que se podía subir.. pero ahora no recuerdo exactamente donde era.. Lo que si recuerdo es que si subias un archivo mas grande que el permitido en esa configuración ni siquiera se muestra un mensaje o algo de tu aplicacion si no que enviaba una página como que no se había podido procesar la solicitud... Ojalá te sirva de algo lo que te postee..