Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/07/2012, 20:02
Avatar de stuart_david3
stuart_david3
 
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Pasar imagen de una página a un crystal report como parametro o como sea p

Tal vez no me explique bien, Me gustaría pasar una imagen de una página a un crystal report no la tengo en ninguna base de datos, ya que lo que he leído siempre lo hacen con un dataset, esto lo hago por que las imágenes que tengo en la página que tiene la imagen las mando de acuerdo al nombre de una persona (ese nombre si lo tengo en la base de datos), es por eso que la imagen de mi página varía de acuerdo al nombre que extraigo de mi base de datos, esto es lo que he estado haciendo.

A manera de ejemplo, quiero pasar por lo pronto una imagen que tenga en mi pagina al crystal report.

Esta es la imagen que mando:

Código vb:
Ver original
  1. Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.         TextBox1.Text = Image1.ImageUrl
  3.         Response.Redirect("Imagen.aspx?maimagen=" + TextBox1.Text)
  4.     End Sub
  5.  
  6.     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  7.         Image1.ImageUrl = ("~/cfe2.jpg")
  8.     End Sub

Aquí recibo la URL y lo intento mandar a un parámetro, tengo otro parámetro pero con ese no hay problema solo recibe el contenido de un textbox:

Código vb:
Ver original
  1. Imports System.Drawing
  2. Imports System.IO
  3. Imports CrystalDecisions.Web
  4. Imports CrystalDecisions.CrystalReports.Engine
  5. Imports CrystalDecisions.Shared
  6. Partial Class Imagen
  7.     Inherits System.Web.UI.Page
  8.     Public Function ImageToByte(ByVal pImagen As Image) As Byte()
  9.         Dim mImage() As Byte
  10.         Try
  11.             If Not IsNothing(pImagen) Then
  12.                 Dim ms As New System.IO.MemoryStream
  13.                 pImagen.Save(ms, pImagen.RawFormat)
  14.                 mImage = ms.GetBuffer
  15.                 ms.Close()
  16.                 Return mImage
  17.             End If
  18.         Catch
  19.         End Try
  20.     End Function
  21.     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  22.         TextBox1.Text = Request.QueryString("maimagen")
  23.         Dim Imagen2 As String = TextBox1.Text
  24.         Dim pathImage As String = Server.MapPath(Imagen2)
  25.         Dim Imagen3 = ImageToByte(Image.FromFile(pathImage))
  26.         If Not Page.PreviousPage Is Nothing Then
  27.             Dim SourceTextBox As TextBox
  28.             SourceTextBox = CType(PreviousPage.FindControl("TextBox1"),  _
  29.                 TextBox)
  30.             If Not SourceTextBox Is Nothing Then
  31.                 TextBox1.Text = SourceTextBox.Text
  32.             End If
  33.  
  34.  
  35.         End If
  36.  
  37.         Dim rep As ReportDocument = New ReportDocument
  38.         rep.Load(Server.MapPath("VerImagen.rpt"))
  39.         Dim ParamAnio As ParameterDiscreteValue = New ParameterDiscreteValue
  40.         ParamAnio.Value = TextBox1.Text
  41.         Dim Imagen As ParameterDiscreteValue = New ParameterDiscreteValue
  42.         Imagen.Value = Imagen3
  43.         rep.ParameterFields(0).CurrentValues.Add(ParamAnio)
  44.         rep.ParameterFields(1).CurrentValues.Add(Imagen)
  45.         Me.CRVReemplazos.ReportSource = rep
  46.         Me.CRVReemplazos.DataBind()
  47.     End Sub
  48. End Class

Pero pues me arroja este error:

Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.IO.FileNotFoundException: C:\Users\Deivid\Documents\Visual Studio 2010\WebSites\ImagenCrystal


Espero y me puedan ayuda, saludos!...