none
Enviar una ruta física para un formulario ashx RRS feed

  • Pregunta

  • Hola, es posible que puedan ayudarme lo que pasa es que al mandar una ruta fisica al formulario ashx, me sale el siguiente error.

    ~/Complemento/GenerarImagenes.ashx?ImageFileName=L:\IMAGENES\001-027294806.jpge

    is not a valid virtual path.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

    Gracias por su ayuda!


    Regards. Juan Carlos
    lunes, 26 de septiembre de 2011 15:49

Respuestas

  • Lo que hice es quitar los dos puntos (:).. y arme la ruta en el formulario .ashx, no me trajo problemas, saludos y si hay otra respuesta seria mejor gracias.
    Regards. Juan Carlos
    • Marcado como respuesta JuanCarlosH lunes, 26 de septiembre de 2011 16:49
    lunes, 26 de septiembre de 2011 16:49
  • en el formulario .ashx no puedes usar  el server.mappath() no esta reconocido,

    ahh cierto que era un handler

    para usarlo deberias aplicar

    HttpContext.Current.Server.MapPath()

     

    Nota: recuerda agrega la referencia a System.Web si es que el handler esta en un proyecto separado

     

    es quitar los dos puntos (:).. y arme la ruta en el formulario .ashx,

    sigo pensando que te estas equivocando, no es la forma de hacerlo, piensa que las dos partes estan a kilometros de distintancia y veras que no aplcia lo que estas haciendo

     

    saludos

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta JuanCarlosH lunes, 26 de septiembre de 2011 17:09
    lunes, 26 de septiembre de 2011 16:59

Todas las respuestas

  • no, como la ruta fisica, eso no deberia hacerse nunca

    recuerda que en un ambiente web tienes dos partes un server (con iis) y un cliente (con el browser)

    ambos pueden estar a miles de kilometros, como vas a pasar el un ruta fisica sino sabes que no podra acceder nucna a esa pc

    que no te confunda el hecho que desarrollas y pruebas en la misma pc, porque en un entorno real no sera nunca la misma maquina

    esto que planteas no es correcto, debes a los sumo pasar el nombre de la imagen y que el handler resuleve la ruta fisica usando el Server.MapPath()

    para tomar la fisica dentro de la estructura de si carpetas locales

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 26 de septiembre de 2011 15:55
  • Gracias por tu respuesta, he tratado de usar lo que me dices, en el formulario .ashx no puedes usar  el server.mappath() no esta reconocido, hay alguna otra forma de llamar al metodo de server.mappath(), gracias por tu respuesta.

    La otra cosa es que si he mandado una ruta virtual, pero hago el server.mappath antes de enviarlo al formulario .ashx, y cuando trato de enviarlo me indica ese error, por eso trate de colocar el server.mappath en el formulario .ashx pero no lo reconoce, coloce implements System.Web.UI.Page, pero no puedo hacer una cosa asi.


    Regards. Juan Carlos
    • Editado JuanCarlosH lunes, 26 de septiembre de 2011 16:19 Agregando mayor valor a la respuesta.
    • Marcado como respuesta JuanCarlosH lunes, 26 de septiembre de 2011 16:49
    • Desmarcado como respuesta JuanCarlosH lunes, 26 de septiembre de 2011 16:49
    lunes, 26 de septiembre de 2011 16:11
  • Lo que hice es quitar los dos puntos (:).. y arme la ruta en el formulario .ashx, no me trajo problemas, saludos y si hay otra respuesta seria mejor gracias.
    Regards. Juan Carlos
    • Marcado como respuesta JuanCarlosH lunes, 26 de septiembre de 2011 16:49
    lunes, 26 de septiembre de 2011 16:49
  • en el formulario .ashx no puedes usar  el server.mappath() no esta reconocido,

    ahh cierto que era un handler

    para usarlo deberias aplicar

    HttpContext.Current.Server.MapPath()

     

    Nota: recuerda agrega la referencia a System.Web si es que el handler esta en un proyecto separado

     

    es quitar los dos puntos (:).. y arme la ruta en el formulario .ashx,

    sigo pensando que te estas equivocando, no es la forma de hacerlo, piensa que las dos partes estan a kilometros de distintancia y veras que no aplcia lo que estas haciendo

     

    saludos

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta JuanCarlosH lunes, 26 de septiembre de 2011 17:09
    lunes, 26 de septiembre de 2011 16:59
  • Sobre la ultima pregunta, lo he probado cuando esta en un servidor de producción,  creo no me explique bien, antes de mandar esa dirección física, tenia una ruta virtual, pero para poder obtener el archivo necesitaba la ruta fisica, ya habia utilizado el server.mappath... pero en el formulario .aspx y luego intentaba mandarle al otro formulario por cirtos metodos que utilizaba, gracias por tu respuesta, me ayudo mucho.

    Saludos.


    Regards. Juan Carlos
    lunes, 26 de septiembre de 2011 17:13