Files
docx-js/ts/export/packer/express.ts

37 lines
1.0 KiB
TypeScript
Raw Normal View History

2016-03-31 19:28:12 +01:00
import {Packer} from "./packer";
import * as fs from "fs";
import * as express from "express";
import {Document} from "../../docx/document";
2016-05-18 17:09:50 +01:00
import {Properties} from "../../properties";
import {DefaultStylesFactory} from "../../styles/factory"
2016-03-31 19:28:12 +01:00
export class ExpressPacker extends Packer {
private res: express.Response;
2016-05-18 17:09:50 +01:00
constructor(document: Document, res: express.Response, styles?: any, properties?: Properties) {
if (!styles) {
var stylesFactory = new DefaultStylesFactory();
styles = stylesFactory.newInstance()
}
if (!properties) {
properties = new Properties({
creator: "Shan Fu",
revision: "1",
lastModifiedBy: "Shan Fu"
});
}
super(document, styles, properties);
2016-03-31 19:28:12 +01:00
this.res = res;
this.res.on('close', () => {
return res.status(200).send('OK').end();
});
}
2016-05-18 17:09:50 +01:00
pack(name: string): void {
2016-03-31 19:28:12 +01:00
this.res.attachment(name + ".docx");
super.pack(this.res);
}
}