我的SQL数据库中有二进制格式的WORD DOCX文件。 我正在使用c#WEB API控制器从获取字节数组连接到数据库,并将其作为字符串数据类型发送到我的前端。 然后尝试通过按钮下载它。在我的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);
它下载了word文件,但已损坏。