Я действительно потерялся в этой ситуации, поэтому я принимаю любые санкции.Чтение BLOB-файла на AngularJs
Некоторые факты:
Что необходимо сделать: Загрузка и выгрузка файлов, а также в случае файла JPG, клиент должен иметь возможность визуализировать его в браузере.
Этот файл BLOB может быть что угодно, насколько я знаю, JPG, DOC, PDF ...
У меня есть те существующие файлы двоичных объектов, хранящихся в моей БД, и я должен прочитать на моем сайте, который является AngularJs App.
My Server-side - это веб-приложение Api с платформой Entity Framework.
До сих пор я достиг, чтобы отправить байт [] в Угловое приложение. Но это проявляется как куча странных персонажей, таких как . И здесь я уже потерян.
В моем классе C# я сказал, что var, который получит BLOB-файл, является байтом []. Это даже правильно?
Я считаю, что у меня проблемы с кодировкой, поскольку я не могу прочитать его в HTML. Мне сказали, что DB находится на UTF-16. Я считаю, что Angular ждет его на UTF-8 (как я могу подтвердить это или настроить его?). Но у меня никогда не было этой проблемы с кодировкой с любыми другими данными, но, конечно, они не были BLOB-файлами.
Мой C# код возврата BLOB данные:
[HttpGet]
[Route("Download/{documentId}")]
public HttpResponseMessage Documents(int documentId)
{
var document = _unit.Document.Get(documentId);
var response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new ByteArrayContent(document.BlobFile);
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
response.Content.Headers.ContentDisposition.FileName = document.Name;
return response;
}
Мой Угловое код, ПОЛУЧАТЬ данные:
$scope.download = function (documentId) {
$http.get('Api/Documents/Download/' + documentId)
.then(function (response) {
console.log(response);
$scope.test = response.data
})
}
на HTML, я стараюсь читать его, как это, при условии, что образ (не знаю, правильно ли это), единственный случай, который мне нужно прочитать в браузере, для всех остальных мне просто нужно сделать его загружаемым (чего я еще не знаю, но пока один проблема за раз):
<img ng-src="data:image/jpeg;base64,{{teste}}" id="photo-id" />
Как я уже говорил, я действительно потерял и принял приговор, и я не смог найти ни одного примера, который мог бы мне помочь.
Заранее благодарен!
Ну, я решил найти решение, и это очень похоже на это. В любом случае, это может помочь кому-то. – Guilherme