none
Convertir imagen local a una url

    Pregunta

  • Buenos dias

    tengo una ruta cualquiera de mi equipo c:\\imagen.png

    y necesito convertirla a una url de mi servidor local. esto en leguaje c#

    alguna idea de como hacer esto?

    gracias.

    domingo, 04 de septiembre de 2011 5:23

Respuestas

  • hola

    pero para tener una url, con el concepto que esto implica deberias tener un sitio que defina esta esta url y desntro de la estructura de carpetas del mismo ubicar esta imagen

    o tambien podrias crear un sitio en el IIS de la pc local y crear un handler que tome la imagen y la unique en el Response

    en este articulo

    [ASP.NET] - Guardar Imagen base de datos

    veras un ejemplo, en la primer parte se carga en un handler una imagen, en el Response.WriteFile() dodne indicas el path fisico del archivo

    pero como veras no es magico debe saber donde buscarlo

    resumen, primer paso crea un sitio en el IIS de la pc local, segundo define una pagina aspx o un handler que actuaran de intermadiarios si la imagenes no estan en la estructura del sitio web que creas

    con esto podrias acceder a la image por una url

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 04 de septiembre de 2011 14:57
  • Hola,

    Mira en este link del foro se trata un tema parecido al tuyo.

     

    http://social.msdn.microsoft.com/Forums/en/csharplanguage/thread/5c81275e-e6f3-4903-9eb0-8abf84e3b581

     

    Saludos,


    phurtado
    domingo, 04 de septiembre de 2011 16:45
  • pero la imagen debe estar en el servidor o sea ser accesible desde el sitio web

    no se si has analziado el link que deje, pero veras alli como por medio de la pagina download.aspx, pongo en el response el archivo que quiero enviar al cliente

    es por medio de esta pagina que se hace el download, con esto puede convertir el archivo que no esta dentro de la estructura del sitio, a una url

    pero si esta en cualquier carpeta directo no podras accederlo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta valenp miércoles, 07 de septiembre de 2011 19:06
    lunes, 05 de septiembre de 2011 1:39
  •  

     


    SRG.

     

     

    Como dice alguien más por aquí, deberías tener la imagen en alguna de las carpetas de la aplicación, por ejemplo en la carpeta Imagenes. Luego en la parte de diseño de la página donde quieres mostrarla añades un control Hiperlink o uno Image según lo que quieras hacer. Finalmente en la la propiedad URL (NavigateUrl o ImageURL según sea el control) pones la dirección relativa más o menos así según la estructura de carpetas

     

     

     

    "~/Imagenes/miImagen.jpg".

    • Editado Sergio Patón lunes, 05 de septiembre de 2011 10:07 error al escribir
    • Marcado como respuesta valenp miércoles, 07 de septiembre de 2011 19:06
    lunes, 05 de septiembre de 2011 10:06

Todas las respuestas

  • domingo, 04 de septiembre de 2011 10:53
  • hola

    pero para tener una url, con el concepto que esto implica deberias tener un sitio que defina esta esta url y desntro de la estructura de carpetas del mismo ubicar esta imagen

    o tambien podrias crear un sitio en el IIS de la pc local y crear un handler que tome la imagen y la unique en el Response

    en este articulo

    [ASP.NET] - Guardar Imagen base de datos

    veras un ejemplo, en la primer parte se carga en un handler una imagen, en el Response.WriteFile() dodne indicas el path fisico del archivo

    pero como veras no es magico debe saber donde buscarlo

    resumen, primer paso crea un sitio en el IIS de la pc local, segundo define una pagina aspx o un handler que actuaran de intermadiarios si la imagenes no estan en la estructura del sitio web que creas

    con esto podrias acceder a la image por una url

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 04 de septiembre de 2011 14:57
  • Hola,

    Mira en este link del foro se trata un tema parecido al tuyo.

     

    http://social.msdn.microsoft.com/Forums/en/csharplanguage/thread/5c81275e-e6f3-4903-9eb0-8abf84e3b581

     

    Saludos,


    phurtado
    domingo, 04 de septiembre de 2011 16:45
  • hola me saca el siguiente error

    la direccion que llega es esta: C:\Documents and Settings\yjaramiq\Escritorio\chart.jpg

     

    y cuando llega a esta linea        

    string photosLocationPath = HttpContext.Current.Server.MapPath(url); donde url es la direccion sale este error.

    El código de usuario no controló System.Web.HttpException
      Message="'C:\\Documents and Settings\\yjaramiq\\Escritorio\\chart.jpg' no es una ruta de acceso virtual válida."


    no se si sea por los dos \\ o deba ser // o uno solo alguan idea?

    lunes, 05 de septiembre de 2011 0:55
  • hola

    pero esta desarrollando un proyecto web ?

    porque e smuy raro que si se trata de un sitio tengas una carpeta en Documents and Settings

    recuerda lo que comente, uan url solo es valida si hay un sitio web, seguramente creado en el IIS, que resuelve es url

    y devuelva el archivo en el response, sino no funciona, por ams que referencies a las librerias web desde algun otro tipo de proyecto

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 05 de septiembre de 2011 1:23
  • hola Leandro . si es un proyecto web, lo que pasa es que no se como hacerlo entonces

    la imagen esta en el equipo local y cuando ejecuto el proyecto pues lo que quiero hacer es poder convertir esa imagen en una url,  ya que cuandso la quiero ver no se ve porque no pertenece al servidor creo. no se. lucho con esto, pero no puedo resolverlo


    Ahota tengo un javascript qque me trae la ruta que aparece en el textbox tipo file , y desde ahi tambien averiguo el href

    var UrlParameter = location.href.split("?"); asi veo la raiz de mi directorio, pero la verdad no se que hacer con esto

    • Editado valenp lunes, 05 de septiembre de 2011 1:37 incompleta
    lunes, 05 de septiembre de 2011 1:34
  • pero la imagen debe estar en el servidor o sea ser accesible desde el sitio web

    no se si has analziado el link que deje, pero veras alli como por medio de la pagina download.aspx, pongo en el response el archivo que quiero enviar al cliente

    es por medio de esta pagina que se hace el download, con esto puede convertir el archivo que no esta dentro de la estructura del sitio, a una url

    pero si esta en cualquier carpeta directo no podras accederlo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta valenp miércoles, 07 de septiembre de 2011 19:06
    lunes, 05 de septiembre de 2011 1:39
  •  

     


    SRG.

     

     

    Como dice alguien más por aquí, deberías tener la imagen en alguna de las carpetas de la aplicación, por ejemplo en la carpeta Imagenes. Luego en la parte de diseño de la página donde quieres mostrarla añades un control Hiperlink o uno Image según lo que quieras hacer. Finalmente en la la propiedad URL (NavigateUrl o ImageURL según sea el control) pones la dirección relativa más o menos así según la estructura de carpetas

     

     

     

    "~/Imagenes/miImagen.jpg".

    • Editado Sergio Patón lunes, 05 de septiembre de 2011 10:07 error al escribir
    • Marcado como respuesta valenp miércoles, 07 de septiembre de 2011 19:06
    lunes, 05 de septiembre de 2011 10:06
  • No es por \\ ni por //, es porque no tienes la imagen en tu estructura de carpetas de la web. Copia la imagen justo en la carpeta del aspx donde lo estas viendo y prueba con la ruta correspodiente, pero sólo con el nombre de la imagen.


    SRG.
    lunes, 05 de septiembre de 2011 10:14