Angular 5从数据库下载DOCX文件

时间:2018-09-06 17:49:01

标签: arrays angular5

我的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文件,但已损坏。

0 个答案:

没有答案