在 typescript/Angular 2 中从 byteArray 创建 ppt 或 pptx blob

问题描述 投票:0回答:2

我需要将我的 byteArray 响应转换为 ppt Blob 对象,以在 Angular 2 中创建 .ppt/.pptx 文件。我能够转换为图像和 pdf 格式。但我特别需要 ppt 和 pptx 格式。

var blob = new Blob(resp, {type: 'application/pdf'});

如上所述,ppt 或 pptx 转换时要指定什么类型?

如果我需要添加更多细节,请提及。

javascript angular typescript blob
2个回答
2
投票

您正在寻找 Microsoft PowerPoint MIME 类型

  • .ppt(PowerPoint 2007 之前的专有格式)

application/vnd.ms-powerpoint

  • .pptx(自 PowerPoint 2007 起开放格式)

application/vnd.openxmlformats-officedocument.presentationml.presentation


0
投票

如果有人发现了这个并想以某种方式将其典型化为 TypeScript,这是我的方法:

export type ReportGenerationFormat = 'PPT' | 'WORD' | 'PDF';

interface ReportFileType {
  extension: string;
  mimeType: string;
}

/**
 * File name extensions and their MIME Types.
 * PPT is a proprietary format before PowerPoint 2007.
 * PPTX is an open format since PowerPoint 2007.
 * PDF is self-explanatory.
 * DOC is a Microsoft document before Word 2007.
 * DOCX is a Microsoft Word document.
 */
export const ReportFileTypes: Record<string, ReportFileType> = {
  PPT: { extension: '.ppt', mimeType: 'application/vnd.ms-powerpoint' },
  PPTX: { extension: '.pptx', mimeType: 'application/vnd.openxmlformats-officedocument.presentationml.presentation' },
  PDF: { extension: '.pdf', mimeType: 'application/pdf' },
  DOC: { extension: '.doc', mimeType: 'application/msword' },
  DOCX: { extension: '.docx', mimeType: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' },
};

然后您所要做的就是导入该常量并将其与 fileType 一起使用,如下所示:

ReportFileTypes[fileType].mimeType

© www.soinside.com 2019 - 2024. All rights reserved.