Merge pull request #201 from dolanmiu/feat/correct-mine-type

Add correct docx mime type
This commit is contained in:
Dolan
2018-11-12 13:12:54 +00:00
committed by GitHub
2 changed files with 32 additions and 3 deletions

View File

@ -46,4 +46,24 @@ describe("Packer", () => {
}); });
}); });
}); });
describe("#toBase64String()", () => {
it("should create a standard docx file", async function() {
this.timeout(99999999);
const str = await packer.toBase64String(file);
assert.isDefined(str);
assert.isTrue(str.length > 0);
});
it("should handle exception if it throws any", () => {
// tslint:disable-next-line:no-any
const compiler = stub((packer as any).compiler, "compile");
compiler.throwsException();
return packer.toBase64String(file).catch((error) => {
assert.isDefined(error);
});
});
});
}); });

View File

@ -10,21 +10,30 @@ export class Packer {
public async toBuffer(file: File): Promise<Buffer> { public async toBuffer(file: File): Promise<Buffer> {
const zip = await this.compiler.compile(file); const zip = await this.compiler.compile(file);
const zipData = (await zip.generateAsync({ type: "nodebuffer" })) as Buffer; const zipData = (await zip.generateAsync({
type: "nodebuffer",
mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
})) as Buffer;
return zipData; return zipData;
} }
public async toBase64String(file: File): Promise<string> { public async toBase64String(file: File): Promise<string> {
const zip = await this.compiler.compile(file); const zip = await this.compiler.compile(file);
const zipData = (await zip.generateAsync({ type: "base64" })) as string; const zipData = (await zip.generateAsync({
type: "base64",
mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
})) as string;
return zipData; return zipData;
} }
public async toBlob(file: File): Promise<Blob> { public async toBlob(file: File): Promise<Blob> {
const zip = await this.compiler.compile(file); const zip = await this.compiler.compile(file);
const zipData = (await zip.generateAsync({ type: "blob" })) as Blob; const zipData = (await zip.generateAsync({
type: "blob",
mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
})) as Blob;
return zipData; return zipData;
} }