我真的迷失在這種情況下,所以我接受任何提示。閱讀AngularJs上的BLOB文件
一些事實:
什麼需要做的事情:文件的下載和上傳,並以JPG文件的情況下,客戶端必須能夠想象它的瀏覽器。
這BLOB文件可以是任何東西,因爲據我所知,JPG,DOC,PDF ...
我有存儲在我的數據庫的現有的BLOB文件,我要讀它在我的網站,這是AngularJs應用程序。
我的服務器端是一個帶有實體框架的Web Api。
到目前爲止,我已經實現向Angular App發送一個字節[]。但它顯示爲一堆奇怪的字符,如 。在這裏,我已經失去了。
在我的C#類上,我說將接收BLOB文件的var是一個byte []。這甚至是正確的嗎?
我相信我有編碼問題,因爲我無法在HTML上閱讀它。我被告知數據庫使用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;
}
我的角碼,recieving數據:
$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" />
正如我之前說過的,我真的迷失了,並且接受了sugestions,並且我找不到任何可以幫助我的例子。
提前致謝!
好吧,我最終找到了解決方案,而且它非常像這樣。無論如何,這可能有助於某人。 – Guilherme