ASP.NET - Error al cargar image en tiempo de ejecución

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 4 puestos en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Error al cargar image en tiempo de ejecución

Publicado por Jaime (2 intervenciones) el 06/09/2020 10:06:55
Buenos días, tengo un problema al querer cargar una foto en un image en tiempo de ejecución, parecía funcionar pero en realidad era que me muestra siempre la misma foto aunque escoja otra foto. La selección la realizo en un gridview el cúal tiene una columna con la ruta de la imagen (Que por cierto la ruta no está en la carpeta raíz de la aplicación), lo que hago es que la almaceno en una variable de Session y abro otra página que en el Load llama al siguiente método el cúal realiza una copia temporal de la imagen (Con el Path de la variable Session) a una carpeta de dentro de la aplicación y luego intento cargarla en imageuri. No sé si es correcto en estos casos, me imagino que no ya que no funciona jejeje. Les muestro el código en VB del procedimiento de carga:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Private Sub Cargar()
 
    Dim Ruta As String = Session("Sruta")
 
    If Path.GetExtension(Ruta) = ".pdf" Then
 
        Dim fs As FileStream = File.OpenRead(Ruta)
        Dim data(fs.Length) As Byte
        fs.Read(data, 0, CType(fs.Length, Integer))
 
        Response.Buffer = True
        Response.Clear()
        Response.ContentType = "Application/pdf"
        Response.BinaryWrite(data)
        Response.End()
 
    ElseIf Path.GetExtension(Ruta) = ".jpeg" Or Path.GetExtension(Ruta) = ".jpg" Then
 
        'ELIMINAR ARCHIVO TEMPORAL
        If File.Exists(HttpRuntime.AppDomainAppPath & "\PRESENTACION\imagenes_visor\imagen_temporal.jpg") Then
            File.Delete(HttpRuntime.AppDomainAppPath & "\PRESENTACION\imagenes_visor\imagen_temporal.jpg")
        End If
 
        My.Computer.FileSystem.CopyFile(Ruta, HttpRuntime.AppDomainAppPath & "\PRESENTACION\imagenes_visor\imagen_temporal.jpg")
 
        Imagen.ImageUrl = "~/PRESENTACION/imagenes_visor/imagen_temporal.jpg"
 
    ElseIf Path.GetExtension(Ruta) = ".png" Then
 
        'ELIMINAR ARCHIVO TEMPORAL
        If File.Exists(HttpRuntime.AppDomainAppPath & "\PRESENTACION\imagenes_visor\imagen_temporal.png") Then
            File.Delete(HttpRuntime.AppDomainAppPath & "\PRESENTACION\imagenes_visor\imagen_temporal.png")
        End If
 
        My.Computer.FileSystem.CopyFile(Ruta, HttpRuntime.AppDomainAppPath & "\PRESENTACION\imagenes_visor\imagen_temporal.png")
 
        Imagen.ImageUrl = "~/PRESENTACION/imagenes_visor/imagen_temporal.png"
 
    End If
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Error al cargar image en tiempo de ejecución

Publicado por Nacho (6 intervenciones) el 06/09/2020 10:40:31
El problema es que usa una caché. Lo que no me acuerdo es cómo se actualizaba la caché.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 4 puestos en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Error al cargar image en tiempo de ejecución

Publicado por Jaime (2 intervenciones) el 06/09/2020 14:03:17
Pues seguro, porque me da a mi que la imagen que me muestra es la que utilicé en pruebas asignando el src directo en html, pero ya lo quité. Lo que quiere decir que el código de arriba no ha funcionado nunca. Con los pdf no hay problema, los abre bien. Alguien que me oriente cuál es la forma correcta?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar