У меня есть файл WORD DOCX в двоичном формате в моей базе данных SQL.
Я использую контроллер c # WEB API для подключения к базе данных из массива get byte и отправки его в мой интерфейс в виде строкового типа данных.
Затем пытаюсь загрузить его нажатием кнопки в моем приложении Angular 5.
Пожалуйста, найдите код ниже,
Контроллер WEB API:
public Model testFunction()
{
byte[] inputWORDBytes = (byte[])ds.Tables[0].Rows[0][0];
Model model = new Model();
model.WORDFile = inputWORDBytes;
return model;
}
C # Модель:
public class Model
{
public byte[] WORDFile { get; set; }
}
Угловая модель:
export interface Model {
WORDFile : string;
}
Угловой компонент:
//Inside service method call
let binWord = atob(model.WORDFile);
let bytesWord = [];
for (let i = 0; i < binWord.length; i++) {
bytesWord.push(binWord.charCodeAt(i));
}
let documentWORD: Uint32Array = new Uint32Array(bytesWord);
var blob = new Blob([documentWORD], { type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' });
var url = window.URL.createObjectURL(blob);
window.open(url);
Он загружает текстовый файл, но он поврежден.