C # Base64 строка может конвертировать в изображение, но не отображается в .rdlc Управление изображениями - PullRequest
1 голос
/ 24 сентября 2019

Я использовал библиотеку для генерации растрового изображения штрих-кода, а затем преобразовал его в строку Base64.Эта строка работает нормально, я могу преобразовать ее обратно в изображение во всех онлайн-инструментах, которые я нашел.Но когда я помещаю его в элемент управления Image в отчете RDLC с помощью Convert.FromBase64String (), изображение вообще не отображается.

Здесь моя строка base64 (Base64Barcode в _sticker instant)

Затем я передаю эту строку моему ReportViewer (связанному с моим отчетом .rdlc)

private void FormPreview_Load(object sender, EventArgs e)
{
    ReportParameter[] parameters = new ReportParameter[]
    {
        new ReportParameter("palletNo", _sticker.PalletNo)              
        new ReportParameter("qrBase64", _sticker.Base64QR, true),
        new ReportParameter("barcodeBase64", _sticker.Base64Barcode, true)
    };

    this.reportViewer.LocalReport.SetParameters(parameters);
    this.reportViewer.RefreshReport();
}

В .rdlc я создаю элемент управления Image и задаю поле «Использовать это изображение» для:

=Convert.FromBase64String(Parameters!barcodeBase64.Value)

Элемент управления TextBox работает нормально.Но элементы управления изображением не показывают ничего, кроме белого квадратика с красной буквой X внутри.

Я нашел много решений в Интернете, но ни одно из них мне не показалось.Я что-то пропустил?

Я пользуюсь Visual Studio 2019 Community, .NET Framework 4.5, библиотека ZXing 0.16.4.0, Microsoft.ReportViewer.WinForms 14.0.0.0

Спасибо.

1 Ответ

1 голос
/ 24 сентября 2019

Чтобы отобразить строку Base64 в качестве изображения в отчете RDLC с помощью дизайнера отчетов:

  • Удалить элемент управления отчета Image из панели инструментов.
  • Щелкните правой кнопкой мыши наизображение и выберите Свойства изображения
  • Установите для источника изображения значение Database
  • Установите для типа MIME подходящее значение, например image/bmp.
  • Установите для этого поля значение имеющегося у вас параметра изображения, например = Parameters!MyImage.Value.Тип параметра должен быть Text.

Затем во время выполнения присвойте строку Base64 в качестве значения параметра.

Примечание: Если для источника изображения установлено значение External, значение параметра должно быть равно абсолютному URL, а свойство LocalReport.EnableExternalImages средства просмотра отчетов должно быть установлено на true.

...