2016-07-29 6 views
0

Я создаю приложение AngularJS для службы. Я использую .NET C# для целей кодирования. Теперь я следую Структуре кода, как указано в следующей статье Load image from C# Byte array and place image in html tag using AngularJS -Отображение байт-массива Изображение в AngualrJS HTML из службы веб-API

Но в этом подходе они отправляют изображение в виде Base64 Sting, и здесь мы привязываем Base64 в Angular HTML. Это ухудшает производительность загрузки. В одном из моих сообщений я получил соответствующий ответ Compress a Byte Array Image without Scaling using .Net C#, он заявил, что строка «Отправить данные обычная, а не Base64».

Просьба помочь мне, как отобразить изображение байтового массива в HTML <img /> Tag. В настоящее время я использую следующие двоичные данные изображения

<img ng-src="data:image/jpeg;base64,{{ image.Content }}" /> 

ответ

0

вызова с помощью функции контроллера, как это (в качестве возможного решения, пожалуйста, см ссылку на Fiddle).

<img data-ng-src="{{getImage(image.Content)}}" /> 

$scope.getImage = function(data){ 
    return 'data:image/jpeg;base64,' + data; 
} 

Посмотрите на скрипку, показывающую 2 возможных подхода. JSFiddle as example

+0

Здесь вы используете одно свойство 'data', его Base64 String? –

+0

На самом деле это просто обертывание объекта 'data 'с помощью правильного префикса' data: image/jpeg; base64, '. О вашей проблеме я замечаю, что вы используете image.Content - имейте в виду, что JS чувствителен к регистру. –

+0

Здесь 'image.Content' является' Base64 String' - 'Convert.ToBase64String (imgArr)' - Здесь проблема в том, что я возвращаю строку клиенту, а затем я привязываю Sting 'image.Content' в ''. Таким образом, это ухудшает производительность. Теперь я отправляю массив байтов ** 'imgArr' ** вместо' Convert.ToBase64String (imgArr) '. –

 Смежные вопросы

  • Нет связанных вопросов^_^