Как поместить изображение местоположения динамически Crystal Report из байтового массива - PullRequest
0 голосов
/ 02 октября 2018

Моя проблема проста, но я не могу найти решение.Я знаю, как динамически модифицировать картинку, когда у меня есть путь.Но в моем проекте я собираю подписи людей.Я не хочу файл (недостаточно безопасный), затем сохраняю его в базе данных (я использую signature_pad, а на стороне сервера я использую

 Dim dataUri = MesDonnees.Img
 Dim encodedImage = dataUri.Split(",")(1)
 Bdd.field = Convert.FromBase64String(encodedImage)
 ...

Но я не решаю, как поместить его в нижний колонтитул моего документа... Я читал некоторые работы, но всегда это из раздела подробностей, и у меня просто есть строковый тип, число, логическое значение ... не байт или что-то еще Спасибо за вашу помощь

ОБНОВЛЕНИЕ У меня естьпопробуйте связать это изображение с файлом Ashx

 Dim IdAtt As Long = CLng(HelperParams.GetParamURL("IdAttach"))
        Dim Typ As Integer = CInt(HelperParams.GetParamURL("Typ"))

            Dim LesDatas As New MyEntities
            Dim Att As Attachement = GetMonAttachement(IdAtt, LesDatas)
            If Att IsNot Nothing Then
                context.Response.ContentType = "image/png"
                If Typ = 1 Then
                    context.Response.BinaryWrite(Att.SignCollaborateur)
                Else
                    If Att.SignClient Is Nothing Then
                        Dim Vid() As Byte = New Byte(0) {}
                        context.Response.BinaryWrite(Vid)
                    Else
                        context.Response.BinaryWrite(Att.SignClient)
                    End If
                End If
                context.Response.Flush()
                context.Response.End()
            End If

    Catch ex As Exception
    End Try

Если я добавлю в IE: http://localhost:63888/Signature.ashx?IdAttach=4&Typ=2 У меня есть моя картинка

Но я пытаюсь создать параметр SignClient etназначить ему местоположение (x-2)

           cryRpt.SetParameterValue("SignClient", "~/Signature.ashx?IdAttach=4&Typ=2")
        cryRpt.SetParameterValue("SignClient", HttpContext.Current.Server.MapPath("/Signature.ashx") & "?IdAttach=4&Typ=2")
        cryRpt.SetParameterValue("SignClient", "http://localhost:63888/Signature.ashx?IdAttach=4&Typ=2")

Эти 3 метода не работают.

Я пытаюсь указать непосредственно: http://localhost:63888/Signature.ashx?IdAttach=4&Typ=2 в местоположении (x-2)вкладок изображений: то же самое, я ставлю точку останова на ashx, но никогда не достигаю. Затем я открываю инструмент разработки вкладок сети, и мой ashx никогда не вызывает.

У меня есть изображение в заголовке (логотип), и я меняю местоположение изображенияс файлом пути (e: /../ logo.png), и это хорошо.

У кого-то есть идея?

1 Ответ

0 голосов
/ 04 октября 2018

Наконец, после попытки попробовать, единственное решение, которое я нахожу, это 1 / сделать подотчет (мой запрос возвращает только 1 строку) 2 / в подотчете удалить весь раздел, кроме раздела подробностей 3 / Создать класс со свойством Contenu в качестве байта () 4 / Добавьте поле данных в подотчете к этому новому классу и добавьте поле подробного раздела

Для подписи просто поместите backgroundcolor: rgb (255,255,255), но penColor: (1,1,1) else (CR или acrobat)) показать черное изображение.

...