Merge branch 'master' of http://10.81.13.221:6990/Web/next-ucap-messenger
This commit is contained in:
commit
43a4ee05dc
12
package-lock.json
generated
12
package-lock.json
generated
|
@ -2323,6 +2323,12 @@
|
||||||
"@types/webpack": "*"
|
"@types/webpack": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@types/file-saver": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-g1QUuhYVVAamfCifK7oB7G3aIl4BbOyzDOqVyUfEr4tfBKrXfeH+M+Tg7HKCXSrbzxYdhyCP7z9WbKo0R2hBCw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"@types/filesize": {
|
"@types/filesize": {
|
||||||
"version": "4.2.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/filesize/-/filesize-4.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/filesize/-/filesize-4.2.0.tgz",
|
||||||
|
@ -6594,6 +6600,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"file-saver": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"fileset": {
|
"fileset": {
|
||||||
"version": "2.0.3",
|
"version": "2.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
"@types/electron-devtools-installer": "^2.2.0",
|
"@types/electron-devtools-installer": "^2.2.0",
|
||||||
"@types/extract-text-webpack-plugin": "^3.0.4",
|
"@types/extract-text-webpack-plugin": "^3.0.4",
|
||||||
"@types/fs-extra": "^8.0.0",
|
"@types/fs-extra": "^8.0.0",
|
||||||
|
"@types/file-saver": "^2.0.1",
|
||||||
"@types/filesize": "^4.1.0",
|
"@types/filesize": "^4.1.0",
|
||||||
"@types/jasmine": "~3.3.8",
|
"@types/jasmine": "~3.3.8",
|
||||||
"@types/jasminewd2": "~2.0.3",
|
"@types/jasminewd2": "~2.0.3",
|
||||||
|
@ -75,6 +76,7 @@
|
||||||
"electron-store": "^4.0.0",
|
"electron-store": "^4.0.0",
|
||||||
"electron-updater": "^4.1.2",
|
"electron-updater": "^4.1.2",
|
||||||
"electron-window-state": "^5.0.3",
|
"electron-window-state": "^5.0.3",
|
||||||
|
"file-saver": "^2.0.2",
|
||||||
"fs-extra": "^8.1.0",
|
"fs-extra": "^8.1.0",
|
||||||
"filesize": "^4.1.2",
|
"filesize": "^4.1.2",
|
||||||
"hammerjs": "^2.0.8",
|
"hammerjs": "^2.0.8",
|
||||||
|
|
|
@ -106,7 +106,7 @@ export class CommonApiService {
|
||||||
? fileTalkDownloadUrl
|
? fileTalkDownloadUrl
|
||||||
: this.moduleConfig.urls.fileTalkDownload,
|
: this.moduleConfig.urls.fileTalkDownload,
|
||||||
encodeFileTalkDownload(req),
|
encodeFileTalkDownload(req),
|
||||||
{ reportProgress: true, responseType: 'arraybuffer' }
|
{ reportProgress: true, responseType: 'blob' }
|
||||||
);
|
);
|
||||||
|
|
||||||
let progress: Subject<number>;
|
let progress: Subject<number>;
|
||||||
|
|
|
@ -4,5 +4,6 @@
|
||||||
[userSeq]="userSeq"
|
[userSeq]="userSeq"
|
||||||
[deviceType]="deviceType"
|
[deviceType]="deviceType"
|
||||||
[token]="token"
|
[token]="token"
|
||||||
|
(download)="onDownload($event)"
|
||||||
(closed)="onClosedViewer()"
|
(closed)="onClosedViewer()"
|
||||||
></ucap-file-viewer>
|
></ucap-file-viewer>
|
||||||
|
|
|
@ -10,6 +10,7 @@ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
|
||||||
import { NGXLogger } from 'ngx-logger';
|
import { NGXLogger } from 'ngx-logger';
|
||||||
import { FileEventJson } from '@ucap-webmessenger/protocol-event';
|
import { FileEventJson } from '@ucap-webmessenger/protocol-event';
|
||||||
import { DeviceType } from '@ucap-webmessenger/core';
|
import { DeviceType } from '@ucap-webmessenger/core';
|
||||||
|
import * as FileSaver from 'file-saver';
|
||||||
|
|
||||||
export interface FileViewerDialogData {
|
export interface FileViewerDialogData {
|
||||||
fileInfo: FileEventJson;
|
fileInfo: FileEventJson;
|
||||||
|
@ -52,6 +53,10 @@ export class FileViewerDialogComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
ngOnDestroy(): void {}
|
ngOnDestroy(): void {}
|
||||||
|
|
||||||
|
onDownload(blob: Blob): void {
|
||||||
|
FileSaver.saveAs(blob, this.fileInfo.fileName);
|
||||||
|
}
|
||||||
|
|
||||||
onClosedViewer(): void {
|
onClosedViewer(): void {
|
||||||
this.dialogRef.close();
|
this.dialogRef.close();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,847 +0,0 @@
|
||||||
{
|
|
||||||
"123": "application/vnd.lotus-1-2-3",
|
|
||||||
"3dml": "text/vnd.in3d.3dml",
|
|
||||||
"3g2": "video/3gpp2",
|
|
||||||
"3gp": "video/3gpp",
|
|
||||||
"7z": "application/x-7z-compressed",
|
|
||||||
"a": "application/octet-stream",
|
|
||||||
"a01": "application/x-arj-compressed",
|
|
||||||
"a02": "application/x-arj-compressed",
|
|
||||||
"a03": "application/x-arj-compressed",
|
|
||||||
"a04": "application/x-arj-compressed",
|
|
||||||
"a05": "application/x-arj-compressed",
|
|
||||||
"a06": "application/x-arj-compressed",
|
|
||||||
"a07": "application/x-arj-compressed",
|
|
||||||
"aab": "application/x-authorware-bin",
|
|
||||||
"aac": "audio/x-aac",
|
|
||||||
"aam": "application/x-authorware-map",
|
|
||||||
"aas": "application/x-authorware-seg",
|
|
||||||
"abw": "application/x-abiword",
|
|
||||||
"acc": "application/vnd.americandynamics.acc",
|
|
||||||
"ace": "application/x-ace-compressed",
|
|
||||||
"acu": "application/vnd.acucobol",
|
|
||||||
"acutc": "application/vnd.acucorp",
|
|
||||||
"adp": "audio/adpcm",
|
|
||||||
"aep": "application/vnd.audiograph",
|
|
||||||
"afm": "application/x-font-type1",
|
|
||||||
"afp": "application/vnd.ibm.modcap",
|
|
||||||
"ai": "application/postscript",
|
|
||||||
"aif": "audio/x-aiff",
|
|
||||||
"aifc": "audio/x-aiff",
|
|
||||||
"aiff": "audio/x-aiff",
|
|
||||||
"air": "application/vnd.adobe.air-application-installer-package+zip",
|
|
||||||
"alz": "application/x-alz",
|
|
||||||
"ami": "application/vnd.amiga.ami",
|
|
||||||
"apk": "application/vnd.android.package-archive",
|
|
||||||
"application": "application/x-ms-application",
|
|
||||||
"apr": "application/vnd.lotus-approach",
|
|
||||||
"asc": "application/pgp-signature",
|
|
||||||
"asf": "video/x-ms-asf",
|
|
||||||
"asm": "text/x-asm",
|
|
||||||
"aso": "application/vnd.accpac.simply.aso",
|
|
||||||
"asx": "video/x-ms-asf",
|
|
||||||
"atc": "application/vnd.acucorp",
|
|
||||||
"atom": "application/atom+xml",
|
|
||||||
"atomcat": "application/atomcat+xml",
|
|
||||||
"atomsvc": "application/atomsvc+xml",
|
|
||||||
"atx": "application/vnd.antix.game-component",
|
|
||||||
"au": "audio/basic",
|
|
||||||
"avi": "video/x-msvideo",
|
|
||||||
"aw": "application/applixware",
|
|
||||||
"azf": "application/vnd.airzip.filesecure.azf",
|
|
||||||
"azs": "application/vnd.airzip.filesecure.azs",
|
|
||||||
"azw": "application/vnd.amazon.ebook",
|
|
||||||
"bat": "application/x-msdownload",
|
|
||||||
"bcpio": "application/x-bcpio",
|
|
||||||
"bdf": "application/x-font-bdf",
|
|
||||||
"bdm": "application/vnd.syncml.dm+wbxml",
|
|
||||||
"bh2": "application/vnd.fujitsu.oasysprs",
|
|
||||||
"bin": "application/octet-stream",
|
|
||||||
"bmi": "application/vnd.bmi",
|
|
||||||
"bmp": "image/bmp",
|
|
||||||
"book": "application/vnd.framemaker",
|
|
||||||
"box": "application/vnd.previewsystems.box",
|
|
||||||
"boz": "application/x-bzip2",
|
|
||||||
"bpk": "application/octet-stream",
|
|
||||||
"btif": "image/prs.btif",
|
|
||||||
"bz": "application/x-bzip",
|
|
||||||
"bz2": "application/x-bzip2",
|
|
||||||
"c": "text/x-c",
|
|
||||||
"c4d": "application/vnd.clonk.c4group",
|
|
||||||
"c4f": "application/vnd.clonk.c4group",
|
|
||||||
"c4g": "application/vnd.clonk.c4group",
|
|
||||||
"c4p": "application/vnd.clonk.c4group",
|
|
||||||
"c4u": "application/vnd.clonk.c4group",
|
|
||||||
"cab": "application/vnd.ms-cab-compressed",
|
|
||||||
"car": "application/vnd.curl.car",
|
|
||||||
"cat": "application/vnd.ms-pki.seccat",
|
|
||||||
"cc": "text/x-c",
|
|
||||||
"cct": "application/x-director",
|
|
||||||
"ccxml": "application/ccxml+xml",
|
|
||||||
"cdbcmsg": "application/vnd.contact.cmsg",
|
|
||||||
"cdf": "application/x-netcdf",
|
|
||||||
"cdkey": "application/vnd.mediastation.cdkey",
|
|
||||||
"cdr": "image/x-coreldraw",
|
|
||||||
"cdx": "chemical/x-cdx",
|
|
||||||
"cdxml": "application/vnd.chemdraw+xml",
|
|
||||||
"cdy": "application/vnd.cinderella",
|
|
||||||
"cer": "application/pkix-cert",
|
|
||||||
"cgm": "image/cgm",
|
|
||||||
"chat": "application/x-chat",
|
|
||||||
"chm": "application/vnd.ms-htmlhelp",
|
|
||||||
"chrt": "application/vnd.kde.kchart",
|
|
||||||
"cif": "chemical/x-cif",
|
|
||||||
"cii": "application/vnd.anser-web-certificate-issue-initiation",
|
|
||||||
"cil": "application/vnd.ms-artgalry",
|
|
||||||
"cla": "application/vnd.claymore",
|
|
||||||
"class": "application/java-vm",
|
|
||||||
"clkk": "application/vnd.crick.clicker.keyboard",
|
|
||||||
"clkp": "application/vnd.crick.clicker.palette",
|
|
||||||
"clkt": "application/vnd.crick.clicker.template",
|
|
||||||
"clkw": "application/vnd.crick.clicker.wordbank",
|
|
||||||
"clkx": "application/vnd.crick.clicker",
|
|
||||||
"clp": "application/x-msclip",
|
|
||||||
"cmc": "application/vnd.cosmocaller",
|
|
||||||
"cmdf": "chemical/x-cmdf",
|
|
||||||
"cml": "chemical/x-cml",
|
|
||||||
"cmp": "application/vnd.yellowriver-custom-menu",
|
|
||||||
"cmx": "image/x-cmx",
|
|
||||||
"cod": "application/vnd.rim.cod",
|
|
||||||
"com": "application/x-msdownload",
|
|
||||||
"conf": "text/plain",
|
|
||||||
"cpio": "application/x-cpio",
|
|
||||||
"cpp": "text/x-c",
|
|
||||||
"cpt": "application/mac-compactpro",
|
|
||||||
"crd": "application/x-mscardfile",
|
|
||||||
"crl": "application/pkix-crl",
|
|
||||||
"crt": "application/x-x509-ca-cert",
|
|
||||||
"csh": "application/x-csh",
|
|
||||||
"csml": "chemical/x-csml",
|
|
||||||
"csp": "application/vnd.commonspace",
|
|
||||||
"css": "text/css",
|
|
||||||
"cst": "application/x-director",
|
|
||||||
"csv": "text/csv",
|
|
||||||
"cu": "application/cu-seeme",
|
|
||||||
"curl": "text/vnd.curl",
|
|
||||||
"cww": "application/prs.cww",
|
|
||||||
"cxt": "application/x-director",
|
|
||||||
"cxx": "text/x-c",
|
|
||||||
"daf": "application/vnd.mobius.daf",
|
|
||||||
"dataless": "application/vnd.fdsn.seed",
|
|
||||||
"davmount": "application/davmount+xml",
|
|
||||||
"dcr": "application/x-director",
|
|
||||||
"dcurl": "text/vnd.curl.dcurl",
|
|
||||||
"dd2": "application/vnd.oma.dd2+xml",
|
|
||||||
"ddd": "application/vnd.fujixerox.ddd",
|
|
||||||
"deb": "application/x-debian-package",
|
|
||||||
"def": "text/plain",
|
|
||||||
"deploy": "application/octet-stream",
|
|
||||||
"der": "application/x-x509-ca-cert",
|
|
||||||
"dfac": "application/vnd.dreamfactory",
|
|
||||||
"dic": "text/x-c",
|
|
||||||
"diff": "text/plain",
|
|
||||||
"dir": "application/x-director",
|
|
||||||
"dis": "application/vnd.mobius.dis",
|
|
||||||
"dist": "application/octet-stream",
|
|
||||||
"distz": "application/octet-stream",
|
|
||||||
"djv": "image/vnd.djvu",
|
|
||||||
"djvu": "image/vnd.djvu",
|
|
||||||
"dll": "application/x-msdownload",
|
|
||||||
"dmg": "application/octet-stream",
|
|
||||||
"dms": "application/octet-stream",
|
|
||||||
"dna": "application/vnd.dna",
|
|
||||||
"doc": "application/msword",
|
|
||||||
"docm": "application/vnd.ms-word.document.macroenabled.12",
|
|
||||||
"docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
||||||
"dot": "application/msword",
|
|
||||||
"dotm": "application/vnd.ms-word.template.macroenabled.12",
|
|
||||||
"dotx": "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
|
|
||||||
"dp": "application/vnd.osgi.dp",
|
|
||||||
"dpg": "application/vnd.dpgraph",
|
|
||||||
"dsc": "text/prs.lines.tag",
|
|
||||||
"dtb": "application/x-dtbook+xml",
|
|
||||||
"dtd": "application/xml-dtd",
|
|
||||||
"dts": "audio/vnd.dts",
|
|
||||||
"dtshd": "audio/vnd.dts.hd",
|
|
||||||
"dump": "application/octet-stream",
|
|
||||||
"dvi": "application/x-dvi",
|
|
||||||
"dwf": "model/vnd.dwf",
|
|
||||||
"dwg": "image/vnd.dwg",
|
|
||||||
"dws": "application/octet-stream",
|
|
||||||
"dwt": "application/x-autocad",
|
|
||||||
"dxf": "image/vnd.dxf",
|
|
||||||
"dxp": "application/vnd.spotfire.dxp",
|
|
||||||
"dxr": "application/x-director",
|
|
||||||
"ecelp4800": "audio/vnd.nuera.ecelp4800",
|
|
||||||
"ecelp7470": "audio/vnd.nuera.ecelp7470",
|
|
||||||
"ecelp9600": "audio/vnd.nuera.ecelp9600",
|
|
||||||
"ecma": "application/ecmascript",
|
|
||||||
"edm": "application/vnd.novadigm.edm",
|
|
||||||
"edx": "application/vnd.novadigm.edx",
|
|
||||||
"efif": "application/vnd.picsel",
|
|
||||||
"egg": "application/x-egg",
|
|
||||||
"ei6": "application/vnd.pg.osasli",
|
|
||||||
"elc": "application/octet-stream",
|
|
||||||
"emf": "image/emf",
|
|
||||||
"eml": "message/rfc822",
|
|
||||||
"emma": "application/emma+xml",
|
|
||||||
"eol": "audio/vnd.digital-winds",
|
|
||||||
"eot": "application/vnd.ms-fontobject",
|
|
||||||
"eps": "application/postscript",
|
|
||||||
"epub": "application/epub+zip",
|
|
||||||
"es3": "application/vnd.eszigno3+xml",
|
|
||||||
"esf": "application/vnd.epson.esf",
|
|
||||||
"et3": "application/vnd.eszigno3+xml",
|
|
||||||
"etx": "text/x-setext",
|
|
||||||
"exe": "application/x-msdownload",
|
|
||||||
"ext": "application/vnd.novadigm.ext",
|
|
||||||
"ez": "application/andrew-inset",
|
|
||||||
"ez2": "application/vnd.ezpix-album",
|
|
||||||
"ez3": "application/vnd.ezpix-package",
|
|
||||||
"f": "text/x-fortran",
|
|
||||||
"f4v": "video/x-f4v",
|
|
||||||
"f77": "text/x-fortran",
|
|
||||||
"f90": "text/x-fortran",
|
|
||||||
"fbs": "image/vnd.fastbidsheet",
|
|
||||||
"fdf": "application/vnd.fdf",
|
|
||||||
"fe_launch": "application/vnd.denovo.fcselayout-link",
|
|
||||||
"fg5": "application/vnd.fujitsu.oasysgp",
|
|
||||||
"fgd": "application/x-director",
|
|
||||||
"fh": "image/x-freehand",
|
|
||||||
"fh4": "image/x-freehand",
|
|
||||||
"fh5": "image/x-freehand",
|
|
||||||
"fh7": "image/x-freehand",
|
|
||||||
"fhc": "image/x-freehand",
|
|
||||||
"fig": "application/x-xfig",
|
|
||||||
"fla": "application/octet-stream",
|
|
||||||
"flac": "audio/flac",
|
|
||||||
"fli": "video/x-fli",
|
|
||||||
"flo": "application/vnd.micrografx.flo",
|
|
||||||
"flv": "video/x-flv",
|
|
||||||
"flw": "application/vnd.kde.kivio",
|
|
||||||
"flx": "text/vnd.fmi.flexstor",
|
|
||||||
"fly": "text/vnd.fly",
|
|
||||||
"fm": "application/vnd.framemaker",
|
|
||||||
"fnc": "application/vnd.frogans.fnc",
|
|
||||||
"for": "text/x-fortran",
|
|
||||||
"fpx": "image/vnd.fpx",
|
|
||||||
"frame": "application/vnd.framemaker",
|
|
||||||
"fsc": "application/vnd.fsc.weblaunch",
|
|
||||||
"fst": "image/vnd.fst",
|
|
||||||
"ftc": "application/vnd.fluxtime.clip",
|
|
||||||
"fti": "application/vnd.anser-web-funds-transfer-initiation",
|
|
||||||
"fvt": "video/vnd.fvt",
|
|
||||||
"fzs": "application/vnd.fuzzysheet",
|
|
||||||
"g3": "image/g3fax",
|
|
||||||
"gac": "application/vnd.groove-account",
|
|
||||||
"gdl": "model/vnd.gdl",
|
|
||||||
"geo": "application/vnd.dynageo",
|
|
||||||
"gex": "application/vnd.geometry-explorer",
|
|
||||||
"ggb": "application/vnd.geogebra.file",
|
|
||||||
"ggt": "application/vnd.geogebra.tool",
|
|
||||||
"ghf": "application/vnd.groove-help",
|
|
||||||
"gif": "image/gif",
|
|
||||||
"gim": "application/vnd.groove-identity-message",
|
|
||||||
"gmx": "application/vnd.gmx",
|
|
||||||
"gnumeric": "application/x-gnumeric",
|
|
||||||
"gph": "application/vnd.flographit",
|
|
||||||
"gqf": "application/vnd.grafeq",
|
|
||||||
"gqs": "application/vnd.grafeq",
|
|
||||||
"gram": "application/srgs",
|
|
||||||
"gre": "application/vnd.geometry-explorer",
|
|
||||||
"grv": "application/vnd.groove-injector",
|
|
||||||
"grxml": "application/srgs+xml",
|
|
||||||
"gsf": "application/x-font-ghostscript",
|
|
||||||
"gtar": "application/x-gtar",
|
|
||||||
"gtm": "application/vnd.groove-tool-message",
|
|
||||||
"gtw": "model/vnd.gtw",
|
|
||||||
"gv": "text/vnd.graphviz",
|
|
||||||
"gz": "application/x-gzip",
|
|
||||||
"h": "text/x-c",
|
|
||||||
"h261": "video/h261",
|
|
||||||
"h263": "video/h263",
|
|
||||||
"h264": "video/h264",
|
|
||||||
"hbci": "application/vnd.hbci",
|
|
||||||
"hdf": "application/x-hdf",
|
|
||||||
"hh": "text/x-c",
|
|
||||||
"hlp": "application/winhlp",
|
|
||||||
"hpgl": "application/vnd.hp-hpgl",
|
|
||||||
"hpid": "application/vnd.hp-hpid",
|
|
||||||
"hps": "application/vnd.hp-hps",
|
|
||||||
"hqx": "application/mac-binhex40",
|
|
||||||
"htke": "application/vnd.kenameaapp",
|
|
||||||
"htm": "text/html",
|
|
||||||
"html": "text/html",
|
|
||||||
"hvd": "application/vnd.yamaha.hv-dic",
|
|
||||||
"hvp": "application/vnd.yamaha.hv-voice",
|
|
||||||
"hvs": "application/vnd.yamaha.hv-script",
|
|
||||||
"hwp": "application/x-hwp",
|
|
||||||
"icc": "application/vnd.iccprofile",
|
|
||||||
"ice": "x-conference/x-cooltalk",
|
|
||||||
"icm": "application/vnd.iccprofile",
|
|
||||||
"ico": "image/x-icon",
|
|
||||||
"ics": "text/calendar",
|
|
||||||
"ief": "image/ief",
|
|
||||||
"ifb": "text/calendar",
|
|
||||||
"ifm": "application/vnd.shana.informed.formdata",
|
|
||||||
"iges": "model/iges",
|
|
||||||
"igl": "application/vnd.igloader",
|
|
||||||
"igs": "model/iges",
|
|
||||||
"igx": "application/vnd.micrografx.igx",
|
|
||||||
"iif": "application/vnd.shana.informed.interchange",
|
|
||||||
"imp": "application/vnd.accpac.simply.imp",
|
|
||||||
"ims": "application/vnd.ms-ims",
|
|
||||||
"in": "text/plain",
|
|
||||||
"ipk": "application/vnd.shana.informed.package",
|
|
||||||
"irm": "application/vnd.ibm.rights-management",
|
|
||||||
"irp": "application/vnd.irepository.package+xml",
|
|
||||||
"iso": "application/octet-stream",
|
|
||||||
"itp": "application/vnd.shana.informed.formtemplate",
|
|
||||||
"ivp": "application/vnd.immervision-ivp",
|
|
||||||
"ivu": "application/vnd.immervision-ivu",
|
|
||||||
"jad": "text/vnd.sun.j2me.app-descriptor",
|
|
||||||
"jam": "application/vnd.jam",
|
|
||||||
"jar": "application/java-archive",
|
|
||||||
"java": "text/x-java-source",
|
|
||||||
"jisp": "application/vnd.jisp",
|
|
||||||
"jlt": "application/vnd.hp-jlyt",
|
|
||||||
"jnlp": "application/x-java-jnlp-file",
|
|
||||||
"joda": "application/vnd.joost.joda-archive",
|
|
||||||
"jpe": "image/jpeg",
|
|
||||||
"jpeg": "image/jpeg",
|
|
||||||
"jpg": "image/jpeg",
|
|
||||||
"jpgm": "video/jpm",
|
|
||||||
"jpgv": "video/jpeg",
|
|
||||||
"jpm": "video/jpm",
|
|
||||||
"js": "application/javascript",
|
|
||||||
"json": "application/json",
|
|
||||||
"kar": "audio/midi",
|
|
||||||
"karbon": "application/vnd.kde.karbon",
|
|
||||||
"keynote": "application/vnd.apple.keynote",
|
|
||||||
"kfo": "application/vnd.kde.kformula",
|
|
||||||
"kia": "application/vnd.kidspiration",
|
|
||||||
"kil": "application/x-killustrator",
|
|
||||||
"kml": "application/vnd.google-earth.kml+xml",
|
|
||||||
"kmz": "application/vnd.google-earth.kmz",
|
|
||||||
"kne": "application/vnd.kinar",
|
|
||||||
"knp": "application/vnd.kinar",
|
|
||||||
"kon": "application/vnd.kde.kontour",
|
|
||||||
"kpr": "application/vnd.kde.kpresenter",
|
|
||||||
"kpt": "application/vnd.kde.kpresenter",
|
|
||||||
"ksh": "text/plain",
|
|
||||||
"ksp": "application/vnd.kde.kspread",
|
|
||||||
"ktr": "application/vnd.kahootz",
|
|
||||||
"ktz": "application/vnd.kahootz",
|
|
||||||
"kwd": "application/vnd.kde.kword",
|
|
||||||
"kwt": "application/vnd.kde.kword",
|
|
||||||
"latex": "application/x-latex",
|
|
||||||
"lbd": "application/vnd.llamagraphics.life-balance.desktop",
|
|
||||||
"lbe": "application/vnd.llamagraphics.life-balance.exchange+xml",
|
|
||||||
"les": "application/vnd.hhe.lesson-player",
|
|
||||||
"lha": "application/octet-stream",
|
|
||||||
"link66": "application/vnd.route66.link66+xml",
|
|
||||||
"list": "text/plain",
|
|
||||||
"list3820": "application/vnd.ibm.modcap",
|
|
||||||
"listafp": "application/vnd.ibm.modcap",
|
|
||||||
"log": "text/plain",
|
|
||||||
"lostxml": "application/lost+xml",
|
|
||||||
"lrf": "application/octet-stream",
|
|
||||||
"lrm": "application/vnd.ms-lrm",
|
|
||||||
"ltf": "application/vnd.frogans.ltf",
|
|
||||||
"lvp": "audio/vnd.lucent.voice",
|
|
||||||
"lwp": "application/vnd.lotus-wordpro",
|
|
||||||
"lzh": "application/octet-stream",
|
|
||||||
"m13": "application/x-msmediaview",
|
|
||||||
"m14": "application/x-msmediaview",
|
|
||||||
"m1v": "video/mpeg",
|
|
||||||
"m2a": "audio/mpeg",
|
|
||||||
"m2v": "video/mpeg",
|
|
||||||
"m3a": "audio/mpeg",
|
|
||||||
"m3u": "audio/x-mpegurl",
|
|
||||||
"m4a": "audio/x-m4a",
|
|
||||||
"m4u": "video/vnd.mpegurl",
|
|
||||||
"m4v": "video/x-m4v",
|
|
||||||
"ma": "application/mathematica",
|
|
||||||
"mag": "application/vnd.ecowin.chart",
|
|
||||||
"maker": "application/vnd.framemaker",
|
|
||||||
"man": "text/troff",
|
|
||||||
"mathml": "application/mathml+xml",
|
|
||||||
"mb": "application/mathematica",
|
|
||||||
"mbk": "application/vnd.mobius.mbk",
|
|
||||||
"mbox": "application/mbox",
|
|
||||||
"mc1": "application/vnd.medcalcdata",
|
|
||||||
"mcd": "application/vnd.mcd",
|
|
||||||
"mcurl": "text/vnd.curl.mcurl",
|
|
||||||
"mdb": "application/x-msaccess",
|
|
||||||
"mdi": "image/vnd.ms-modi",
|
|
||||||
"me": "text/troff",
|
|
||||||
"mesh": "model/mesh",
|
|
||||||
"mfm": "application/vnd.mfmp",
|
|
||||||
"mgz": "application/vnd.proteus.magazine",
|
|
||||||
"mht": "message/rfc822",
|
|
||||||
"mhtml": "message/rfc822",
|
|
||||||
"mid": "audio/midi",
|
|
||||||
"midi": "audio/midi",
|
|
||||||
"mif": "application/vnd.mif",
|
|
||||||
"mime": "message/rfc822",
|
|
||||||
"mj2": "video/mj2",
|
|
||||||
"mjp2": "video/mj2",
|
|
||||||
"mkv": "video/x-matroska",
|
|
||||||
"mlp": "application/vnd.dolby.mlp",
|
|
||||||
"mmd": "application/vnd.chipnuts.karaoke-mmd",
|
|
||||||
"mmf": "application/vnd.smaf",
|
|
||||||
"mmr": "image/vnd.fujixerox.edmics-mmr",
|
|
||||||
"mny": "application/x-msmoney",
|
|
||||||
"mobi": "application/x-mobipocket-ebook",
|
|
||||||
"mov": "video/quicktime",
|
|
||||||
"movie": "video/x-sgi-movie",
|
|
||||||
"mp2": "audio/mpeg",
|
|
||||||
"mp2a": "audio/mpeg",
|
|
||||||
"mp3": "audio/mpeg",
|
|
||||||
"mp4": "video/mp4",
|
|
||||||
"mp4a": "audio/mp4",
|
|
||||||
"mp4s": "application/mp4",
|
|
||||||
"mp4v": "video/mp4",
|
|
||||||
"mpa": "video/mpeg",
|
|
||||||
"mpc": "application/vnd.mophun.certificate",
|
|
||||||
"mpe": "video/mpeg",
|
|
||||||
"mpeg": "video/mpeg",
|
|
||||||
"mpega": "audio/mpeg",
|
|
||||||
"mpg": "video/mpeg",
|
|
||||||
"mpg4": "video/mp4",
|
|
||||||
"mpga": "audio/mpeg",
|
|
||||||
"mpkg": "application/vnd.apple.installer+xml",
|
|
||||||
"mpm": "application/vnd.blueice.multipass",
|
|
||||||
"mpn": "application/vnd.mophun.application",
|
|
||||||
"mpp": "application/vnd.ms-project",
|
|
||||||
"mpt": "application/vnd.ms-project",
|
|
||||||
"mpy": "application/vnd.ibm.minipay",
|
|
||||||
"mqy": "application/vnd.mobius.mqy",
|
|
||||||
"mrc": "application/marc",
|
|
||||||
"ms": "text/troff",
|
|
||||||
"mscml": "application/mediaservercontrol+xml",
|
|
||||||
"mseed": "application/vnd.fdsn.mseed",
|
|
||||||
"mseq": "application/vnd.mseq",
|
|
||||||
"msf": "application/vnd.epson.msf",
|
|
||||||
"msh": "model/mesh",
|
|
||||||
"msi": "application/x-msdownload",
|
|
||||||
"msl": "application/vnd.mobius.msl",
|
|
||||||
"msty": "application/vnd.muvee.style",
|
|
||||||
"mts": "model/vnd.mts",
|
|
||||||
"mus": "application/vnd.musician",
|
|
||||||
"musicxml": "application/vnd.recordare.musicxml+xml",
|
|
||||||
"mvb": "application/x-msmediaview",
|
|
||||||
"mwf": "application/vnd.mfer",
|
|
||||||
"mxf": "application/mxf",
|
|
||||||
"mxl": "application/vnd.recordare.musicxml",
|
|
||||||
"mxml": "application/xv+xml",
|
|
||||||
"mxs": "application/vnd.triscape.mxs",
|
|
||||||
"mxu": "video/vnd.mpegurl",
|
|
||||||
"n-gage": "application/vnd.nokia.n-gage.symbian.install",
|
|
||||||
"nb": "application/mathematica",
|
|
||||||
"nc": "application/x-netcdf",
|
|
||||||
"ncx": "application/x-dtbncx+xml",
|
|
||||||
"ngdat": "application/vnd.nokia.n-gage.data",
|
|
||||||
"nlu": "application/vnd.neurolanguage.nlu",
|
|
||||||
"nml": "application/vnd.enliven",
|
|
||||||
"nnd": "application/vnd.noblenet-directory",
|
|
||||||
"nns": "application/vnd.noblenet-sealer",
|
|
||||||
"nnw": "application/vnd.noblenet-web",
|
|
||||||
"npx": "image/vnd.net-fpx",
|
|
||||||
"nsf": "application/vnd.lotus-notes",
|
|
||||||
"numbers": "application/vnd.apple.numbers",
|
|
||||||
"nws": "message/rfc822",
|
|
||||||
"o": "application/octet-stream",
|
|
||||||
"oa2": "application/vnd.fujitsu.oasys2",
|
|
||||||
"oa3": "application/vnd.fujitsu.oasys3",
|
|
||||||
"oas": "application/vnd.fujitsu.oasys",
|
|
||||||
"obd": "application/x-msbinder",
|
|
||||||
"obj": "application/octet-stream",
|
|
||||||
"oda": "application/oda",
|
|
||||||
"odb": "application/vnd.oasis.opendocument.database",
|
|
||||||
"odc": "application/vnd.oasis.opendocument.chart",
|
|
||||||
"odf": "application/vnd.oasis.opendocument.formula",
|
|
||||||
"odft": "application/vnd.oasis.opendocument.formula-template",
|
|
||||||
"odg": "application/vnd.oasis.opendocument.graphics",
|
|
||||||
"odi": "application/vnd.oasis.opendocument.image",
|
|
||||||
"odp": "application/vnd.oasis.opendocument.presentation",
|
|
||||||
"ods": "application/vnd.oasis.opendocument.spreadsheet",
|
|
||||||
"odt": "application/vnd.oasis.opendocument.text",
|
|
||||||
"oga": "audio/ogg",
|
|
||||||
"ogg": "audio/ogg",
|
|
||||||
"ogv": "video/ogg",
|
|
||||||
"ogx": "application/ogg",
|
|
||||||
"one": "application/msonenote",
|
|
||||||
"onepkg": "application/onenote",
|
|
||||||
"onetmp": "application/onenote",
|
|
||||||
"onetoc": "application/onenote",
|
|
||||||
"onetoc2": "application/onenote",
|
|
||||||
"opf": "application/oebps-package+xml",
|
|
||||||
"oprc": "application/vnd.palm",
|
|
||||||
"org": "application/vnd.lotus-organizer",
|
|
||||||
"osf": "application/vnd.yamaha.openscoreformat",
|
|
||||||
"osfpvg": "application/vnd.yamaha.openscoreformat.osfpvg+xml",
|
|
||||||
"otc": "application/vnd.oasis.opendocument.chart-template",
|
|
||||||
"otf": "application/x-font-otf",
|
|
||||||
"otg": "application/vnd.oasis.opendocument.graphics-template",
|
|
||||||
"oth": "application/vnd.oasis.opendocument.text-web",
|
|
||||||
"oti": "application/vnd.oasis.opendocument.image-template",
|
|
||||||
"otm": "application/vnd.oasis.opendocument.text-master",
|
|
||||||
"otp": "application/vnd.oasis.opendocument.presentation-template",
|
|
||||||
"ots": "application/vnd.oasis.opendocument.spreadsheet-template",
|
|
||||||
"ott": "application/vnd.oasis.opendocument.text-template",
|
|
||||||
"oxt": "application/vnd.openofficeorg.extension",
|
|
||||||
"p": "text/x-pascal",
|
|
||||||
"p10": "application/pkcs10",
|
|
||||||
"p12": "application/x-pkcs12",
|
|
||||||
"p7b": "application/x-pkcs7-certificates",
|
|
||||||
"p7c": "application/pkcs7-mime",
|
|
||||||
"p7m": "application/pkcs7-mime",
|
|
||||||
"p7r": "application/x-pkcs7-certreqresp",
|
|
||||||
"p7s": "application/pkcs7-signature",
|
|
||||||
"pas": "text/x-pascal",
|
|
||||||
"pages": "application/vnd.apple.pages",
|
|
||||||
"pbd": "application/vnd.powerbuilder6",
|
|
||||||
"pbm": "image/x-portable-bitmap",
|
|
||||||
"pcf": "application/x-font-pcf",
|
|
||||||
"pcl": "application/vnd.hp-pcl",
|
|
||||||
"pclxl": "application/vnd.hp-pclxl",
|
|
||||||
"pct": "image/x-pict",
|
|
||||||
"pcurl": "application/vnd.curl.pcurl",
|
|
||||||
"pcx": "image/x-pcx",
|
|
||||||
"pdb": "application/vnd.palm",
|
|
||||||
"pdf": "application/pdf",
|
|
||||||
"pfa": "application/x-font-type1",
|
|
||||||
"pfb": "application/x-font-type1",
|
|
||||||
"pfm": "application/x-font-type1",
|
|
||||||
"pfr": "application/font-tdpfr",
|
|
||||||
"pfx": "application/x-pkcs12",
|
|
||||||
"pgm": "image/x-portable-graymap",
|
|
||||||
"pgn": "application/x-chess-pgn",
|
|
||||||
"pgp": "application/pgp-encrypted",
|
|
||||||
"pic": "image/x-pict",
|
|
||||||
"pkg": "application/octet-stream",
|
|
||||||
"pki": "application/pkixcmp",
|
|
||||||
"pkipath": "application/pkix-pkipath",
|
|
||||||
"pl": "text/plain",
|
|
||||||
"plb": "application/vnd.3gpp.pic-bw-large",
|
|
||||||
"plc": "application/vnd.mobius.plc",
|
|
||||||
"plf": "application/vnd.pocketlearn",
|
|
||||||
"pls": "application/pls+xml",
|
|
||||||
"plt": "Application/octet-stream",
|
|
||||||
"pml": "application/vnd.ctc-posml",
|
|
||||||
"png": "image/png",
|
|
||||||
"pnm": "image/x-portable-anymap",
|
|
||||||
"portpkg": "application/vnd.macports.portpkg",
|
|
||||||
"pot": "application/vnd.ms-powerpoint",
|
|
||||||
"potm": "application/vnd.ms-powerpoint.template.macroenabled.12",
|
|
||||||
"potx": "application/vnd.openxmlformats-officedocument.presentationml.template",
|
|
||||||
"ppa": "application/vnd.ms-powerpoint",
|
|
||||||
"ppam": "application/vnd.ms-powerpoint.addin.macroenabled.12",
|
|
||||||
"ppd": "application/vnd.cups-ppd",
|
|
||||||
"ppm": "image/x-portable-pixmap",
|
|
||||||
"pps": "application/vnd.ms-powerpoint",
|
|
||||||
"ppsm": "application/vnd.ms-powerpoint.slideshow.macroenabled.12",
|
|
||||||
"ppsx": "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
|
|
||||||
"ppt": "application/vnd.ms-powerpoint",
|
|
||||||
"pptm": "application/vnd.ms-powerpoint.presentation.macroenabled.12",
|
|
||||||
"pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
||||||
"pqa": "application/vnd.palm",
|
|
||||||
"prc": "application/x-mobipocket-ebook",
|
|
||||||
"pre": "application/vnd.lotus-freelance",
|
|
||||||
"prf": "application/pics-rules",
|
|
||||||
"ps": "application/postscript",
|
|
||||||
"psb": "application/vnd.3gpp.pic-bw-small",
|
|
||||||
"psd": "image/vnd.adobe.photoshop",
|
|
||||||
"psf": "application/x-font-linux-psf",
|
|
||||||
"ptid": "application/vnd.pvi.ptid1",
|
|
||||||
"pub": "application/x-mspublisher",
|
|
||||||
"pvb": "application/vnd.3gpp.pic-bw-var",
|
|
||||||
"pwn": "application/vnd.3m.post-it-notes",
|
|
||||||
"pwz": "application/vnd.ms-powerpoint",
|
|
||||||
"py": "text/x-python",
|
|
||||||
"pya": "audio/vnd.ms-playready.media.pya",
|
|
||||||
"pyc": "application/x-python-code",
|
|
||||||
"pyo": "application/x-python-code",
|
|
||||||
"pyv": "video/vnd.ms-playready.media.pyv",
|
|
||||||
"qam": "application/vnd.epson.quickanime",
|
|
||||||
"qbo": "application/vnd.intu.qbo",
|
|
||||||
"qfx": "application/vnd.intu.qfx",
|
|
||||||
"qps": "application/vnd.publishare-delta-tree",
|
|
||||||
"qt": "video/quicktime",
|
|
||||||
"qwd": "application/vnd.quark.quarkxpress",
|
|
||||||
"qwt": "application/vnd.quark.quarkxpress",
|
|
||||||
"qxb": "application/vnd.quark.quarkxpress",
|
|
||||||
"qxd": "application/vnd.quark.quarkxpress",
|
|
||||||
"qxl": "application/vnd.quark.quarkxpress",
|
|
||||||
"qxt": "application/vnd.quark.quarkxpress",
|
|
||||||
"ra": "audio/x-pn-realaudio",
|
|
||||||
"ram": "audio/x-pn-realaudio",
|
|
||||||
"rar": "application/x-rar-compressed",
|
|
||||||
"ras": "image/x-cmu-raster",
|
|
||||||
"rcprofile": "application/vnd.ipunplugged.rcprofile",
|
|
||||||
"rdf": "application/rdf+xml",
|
|
||||||
"rdz": "application/vnd.data-vision.rdz",
|
|
||||||
"rep": "application/vnd.businessobjects",
|
|
||||||
"res": "application/x-dtbresource+xml",
|
|
||||||
"rgb": "image/x-rgb",
|
|
||||||
"rif": "application/reginfo+xml",
|
|
||||||
"rl": "application/resource-lists+xml",
|
|
||||||
"rlc": "image/vnd.fujixerox.edmics-rlc",
|
|
||||||
"rld": "application/resource-lists-diff+xml",
|
|
||||||
"rm": "application/vnd.rn-realmedia",
|
|
||||||
"rmi": "audio/midi",
|
|
||||||
"rmp": "audio/x-pn-realaudio-plugin",
|
|
||||||
"rms": "application/vnd.jcp.javame.midlet-rms",
|
|
||||||
"rnc": "application/relax-ng-compact-syntax",
|
|
||||||
"roff": "text/troff",
|
|
||||||
"rpm": "application/x-rpm",
|
|
||||||
"rpss": "application/vnd.nokia.radio-presets",
|
|
||||||
"rpst": "application/vnd.nokia.radio-preset",
|
|
||||||
"rq": "application/sparql-query",
|
|
||||||
"rs": "application/rls-services+xml",
|
|
||||||
"rsd": "application/rsd+xml",
|
|
||||||
"rss": "application/rss+xml",
|
|
||||||
"rtf": "application/rtf",
|
|
||||||
"rtx": "text/richtext",
|
|
||||||
"rv": "video/vnd.rn-realvideo",
|
|
||||||
"s": "text/x-asm",
|
|
||||||
"saf": "application/vnd.yamaha.smaf-audio",
|
|
||||||
"sbml": "application/sbml+xml",
|
|
||||||
"sc": "application/vnd.ibm.secure-container",
|
|
||||||
"scd": "application/x-msschedule",
|
|
||||||
"scm": "application/vnd.lotus-screencam",
|
|
||||||
"scq": "application/scvp-cv-request",
|
|
||||||
"scs": "application/scvp-cv-response",
|
|
||||||
"scurl": "text/vnd.curl.scurl",
|
|
||||||
"sda": "application/vnd.stardivision.draw",
|
|
||||||
"sdc": "application/vnd.stardivision.calc",
|
|
||||||
"sdd": "application/vnd.stardivision.impress",
|
|
||||||
"sdkd": "application/vnd.solent.sdkm+xml",
|
|
||||||
"sdkm": "application/vnd.solent.sdkm+xml",
|
|
||||||
"sdp": "application/sdp",
|
|
||||||
"sdw": "application/vnd.stardivision.writer",
|
|
||||||
"see": "application/vnd.seemail",
|
|
||||||
"seed": "application/vnd.fdsn.seed",
|
|
||||||
"sema": "application/vnd.sema",
|
|
||||||
"semd": "application/vnd.semd",
|
|
||||||
"semf": "application/vnd.semf",
|
|
||||||
"ser": "application/java-serialized-object",
|
|
||||||
"setpay": "application/set-payment-initiation",
|
|
||||||
"setreg": "application/set-registration-initiation",
|
|
||||||
"sfd-hdstx": "application/vnd.hydrostatix.sof-data",
|
|
||||||
"sfs": "application/vnd.spotfire.sfs",
|
|
||||||
"sgl": "application/vnd.stardivision.writer-global",
|
|
||||||
"sgm": "text/sgml",
|
|
||||||
"sgml": "text/sgml",
|
|
||||||
"sh": "application/x-sh",
|
|
||||||
"shar": "application/x-shar",
|
|
||||||
"shf": "application/shf+xml",
|
|
||||||
"si": "text/vnd.wap.si",
|
|
||||||
"sic": "application/vnd.wap.sic",
|
|
||||||
"sig": "application/pgp-signature",
|
|
||||||
"silo": "model/mesh",
|
|
||||||
"sis": "application/vnd.symbian.install",
|
|
||||||
"sisx": "application/vnd.symbian.install",
|
|
||||||
"sit": "application/x-stuffit",
|
|
||||||
"sitx": "application/x-stuffitx",
|
|
||||||
"skd": "application/vnd.koan",
|
|
||||||
"skm": "application/vnd.koan",
|
|
||||||
"skp": "application/vnd.koan",
|
|
||||||
"skt": "application/vnd.koan",
|
|
||||||
"sl": "text/vnd.wap.sl",
|
|
||||||
"slc": "application/vnd.wap.slc",
|
|
||||||
"sldm": "application/vnd.ms-powerpoint.slide.macroenabled.12",
|
|
||||||
"sldx": "application/vnd.openxmlformats-officedocument.presentationml.slide",
|
|
||||||
"slt": "application/vnd.epson.salt",
|
|
||||||
"smf": "application/vnd.stardivision.math",
|
|
||||||
"smi": "application/smil+xml",
|
|
||||||
"smil": "application/smil+xml",
|
|
||||||
"snd": "audio/basic",
|
|
||||||
"snf": "application/x-font-snf",
|
|
||||||
"so": "application/octet-stream",
|
|
||||||
"spc": "application/x-pkcs7-certificates",
|
|
||||||
"spf": "application/vnd.yamaha.smaf-phrase",
|
|
||||||
"spl": "application/x-futuresplash",
|
|
||||||
"spot": "text/vnd.in3d.spot",
|
|
||||||
"spp": "application/scvp-vp-response",
|
|
||||||
"spq": "application/scvp-vp-request",
|
|
||||||
"spx": "audio/ogg",
|
|
||||||
"src": "application/x-wais-source",
|
|
||||||
"srx": "application/sparql-results+xml",
|
|
||||||
"sse": "application/vnd.kodak-descriptor",
|
|
||||||
"ssf": "application/vnd.epson.ssf",
|
|
||||||
"ssml": "application/ssml+xml",
|
|
||||||
"stc": "application/vnd.sun.xml.calc.template",
|
|
||||||
"std": "application/vnd.sun.xml.draw.template",
|
|
||||||
"stf": "application/vnd.wt.stf",
|
|
||||||
"sti": "application/vnd.sun.xml.impress.template",
|
|
||||||
"stk": "application/hyperstudio",
|
|
||||||
"stl": "application/vnd.ms-pki.stl",
|
|
||||||
"str": "application/vnd.pg.format",
|
|
||||||
"stw": "application/vnd.sun.xml.writer.template",
|
|
||||||
"sus": "application/vnd.sus-calendar",
|
|
||||||
"susp": "application/vnd.sus-calendar",
|
|
||||||
"sv4cpio": "application/x-sv4cpio",
|
|
||||||
"sv4crc": "application/x-sv4crc",
|
|
||||||
"svd": "application/vnd.svd",
|
|
||||||
"svg": "image/svg+xml",
|
|
||||||
"svgz": "image/svg+xml",
|
|
||||||
"swa": "application/x-director",
|
|
||||||
"swf": "application/x-shockwave-flash",
|
|
||||||
"swi": "application/vnd.arastra.swi",
|
|
||||||
"sxc": "application/vnd.sun.xml.calc",
|
|
||||||
"sxd": "application/vnd.sun.xml.draw",
|
|
||||||
"sxg": "application/vnd.sun.xml.writer.global",
|
|
||||||
"sxi": "application/vnd.sun.xml.impress",
|
|
||||||
"sxm": "application/vnd.sun.xml.math",
|
|
||||||
"sxw": "application/vnd.sun.xml.writer",
|
|
||||||
"t": "text/troff",
|
|
||||||
"tao": "application/vnd.tao.intent-module-archive",
|
|
||||||
"tar": "application/x-tar",
|
|
||||||
"tcap": "application/vnd.3gpp2.tcap",
|
|
||||||
"tcl": "application/x-tcl",
|
|
||||||
"teacher": "application/vnd.smart.teacher",
|
|
||||||
"tex": "application/x-tex",
|
|
||||||
"texi": "application/x-texinfo",
|
|
||||||
"texinfo": "application/x-texinfo",
|
|
||||||
"text": "text/plain",
|
|
||||||
"tfm": "application/x-tex-tfm",
|
|
||||||
"tgz": "application/x-gzip",
|
|
||||||
"tif": "image/tiff",
|
|
||||||
"tiff": "image/tiff",
|
|
||||||
"tmo": "application/vnd.tmobile-livetv",
|
|
||||||
"torrent": "application/x-bittorrent",
|
|
||||||
"tpl": "application/vnd.groove-tool-template",
|
|
||||||
"tpt": "application/vnd.trid.tpt",
|
|
||||||
"tr": "text/troff",
|
|
||||||
"tra": "application/vnd.trueapp",
|
|
||||||
"trm": "application/x-msterminal",
|
|
||||||
"ts": "video/MP2T",
|
|
||||||
"tsv": "text/tab-separated-values",
|
|
||||||
"ttc": "application/x-font-ttf",
|
|
||||||
"ttf": "application/x-font-ttf",
|
|
||||||
"twd": "application/vnd.simtech-mindmapper",
|
|
||||||
"twds": "application/vnd.simtech-mindmapper",
|
|
||||||
"txd": "application/vnd.genomatix.tuxedo",
|
|
||||||
"txf": "application/vnd.mobius.txf",
|
|
||||||
"txt": "text/plain",
|
|
||||||
"u32": "application/x-authorware-bin",
|
|
||||||
"udeb": "application/x-debian-package",
|
|
||||||
"ufd": "application/vnd.ufdl",
|
|
||||||
"ufdl": "application/vnd.ufdl",
|
|
||||||
"umj": "application/vnd.umajin",
|
|
||||||
"unityweb": "application/vnd.unity",
|
|
||||||
"uoml": "application/vnd.uoml+xml",
|
|
||||||
"uri": "text/uri-list",
|
|
||||||
"uris": "text/uri-list",
|
|
||||||
"urls": "text/uri-list",
|
|
||||||
"ustar": "application/x-ustar",
|
|
||||||
"utz": "application/vnd.uiq.theme",
|
|
||||||
"uu": "text/x-uuencode",
|
|
||||||
"vcd": "application/x-cdlink",
|
|
||||||
"vcf": "text/x-vcard",
|
|
||||||
"vcg": "application/vnd.groove-vcard",
|
|
||||||
"vcs": "text/x-vcalendar",
|
|
||||||
"vcx": "application/vnd.vcx",
|
|
||||||
"vis": "application/vnd.visionary",
|
|
||||||
"viv": "video/vnd.vivo",
|
|
||||||
"vor": "application/vnd.stardivision.writer",
|
|
||||||
"vox": "application/x-authorware-bin",
|
|
||||||
"vrml": "model/vrml",
|
|
||||||
"vsd": "application/vnd.visio",
|
|
||||||
"vsf": "application/vnd.vsf",
|
|
||||||
"vss": "application/vnd.visio",
|
|
||||||
"vst": "application/vnd.visio",
|
|
||||||
"vsw": "application/vnd.visio",
|
|
||||||
"vtu": "model/vnd.vtu",
|
|
||||||
"vxml": "application/voicexml+xml",
|
|
||||||
"w3d": "application/x-director",
|
|
||||||
"wad": "application/x-doom",
|
|
||||||
"wav": "audio/x-wav",
|
|
||||||
"wax": "audio/x-ms-wax",
|
|
||||||
"wbmp": "image/vnd.wap.wbmp",
|
|
||||||
"wbs": "application/vnd.criticaltools.wbs+xml",
|
|
||||||
"wbxml": "application/vnd.wap.wbxml",
|
|
||||||
"wcm": "application/vnd.ms-works",
|
|
||||||
"wdb": "application/vnd.ms-works",
|
|
||||||
"webm": "video/webm",
|
|
||||||
"wiz": "application/msword",
|
|
||||||
"wks": "application/vnd.ms-works",
|
|
||||||
"wm": "video/x-ms-wm",
|
|
||||||
"wma": "audio/x-ms-wma",
|
|
||||||
"wmd": "application/x-ms-wmd",
|
|
||||||
"wmf": "application/x-msmetafile",
|
|
||||||
"wml": "text/vnd.wap.wml",
|
|
||||||
"wmlc": "application/vnd.wap.wmlc",
|
|
||||||
"wmls": "text/vnd.wap.wmlscript",
|
|
||||||
"wmlsc": "application/vnd.wap.wmlscriptc",
|
|
||||||
"wmv": "video/x-ms-wmv",
|
|
||||||
"wmx": "video/x-ms-wmx",
|
|
||||||
"wmz": "application/x-ms-wmz",
|
|
||||||
"wpd": "application/vnd.wordperfect",
|
|
||||||
"wpl": "application/vnd.ms-wpl",
|
|
||||||
"wps": "application/vnd.ms-works",
|
|
||||||
"wqd": "application/vnd.wqd",
|
|
||||||
"wri": "application/x-mswrite",
|
|
||||||
"wrl": "model/vrml",
|
|
||||||
"wsdl": "application/wsdl+xml",
|
|
||||||
"wspolicy": "application/wspolicy+xml",
|
|
||||||
"wtb": "application/vnd.webturbo",
|
|
||||||
"wvx": "video/x-ms-wvx",
|
|
||||||
"x32": "application/x-authorware-bin",
|
|
||||||
"x3d": "application/vnd.hzn-3d-crossword",
|
|
||||||
"xap": "application/x-silverlight-app",
|
|
||||||
"xar": "application/vnd.xara",
|
|
||||||
"xbap": "application/x-ms-xbap",
|
|
||||||
"xbd": "application/vnd.fujixerox.docuworks.binder",
|
|
||||||
"xbm": "image/x-xbitmap",
|
|
||||||
"xdm": "application/vnd.syncml.dm+xml",
|
|
||||||
"xdp": "application/vnd.adobe.xdp+xml",
|
|
||||||
"xdw": "application/vnd.fujixerox.docuworks",
|
|
||||||
"xenc": "application/xenc+xml",
|
|
||||||
"xer": "application/patch-ops-error+xml",
|
|
||||||
"xfdf": "application/vnd.adobe.xfdf",
|
|
||||||
"xfdl": "application/vnd.xfdl",
|
|
||||||
"xht": "application/xhtml+xml",
|
|
||||||
"xhtml": "application/xhtml+xml",
|
|
||||||
"xhvml": "application/xv+xml",
|
|
||||||
"xif": "image/vnd.xiff",
|
|
||||||
"xla": "application/vnd.ms-excel",
|
|
||||||
"xlam": "application/vnd.ms-excel.addin.macroenabled.12",
|
|
||||||
"xlb": "application/vnd.ms-excel",
|
|
||||||
"xlc": "application/vnd.ms-excel",
|
|
||||||
"xlm": "application/vnd.ms-excel",
|
|
||||||
"xls": "application/vnd.ms-excel",
|
|
||||||
"xlsb": "application/vnd.ms-excel.sheet.binary.macroenabled.12",
|
|
||||||
"xlsm": "application/vnd.ms-excel.sheet.macroenabled.12",
|
|
||||||
"xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
||||||
"xlt": "application/vnd.ms-excel",
|
|
||||||
"xltm": "application/vnd.ms-excel.template.macroenabled.12",
|
|
||||||
"xltx": "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
|
|
||||||
"xlw": "application/vnd.ms-excel",
|
|
||||||
"xml": "application/xml",
|
|
||||||
"xo": "application/vnd.olpc-sugar",
|
|
||||||
"xop": "application/xop+xml",
|
|
||||||
"xpdl": "application/xml",
|
|
||||||
"xpi": "application/x-xpinstall",
|
|
||||||
"xpm": "image/x-xpixmap",
|
|
||||||
"xpr": "application/vnd.is-xpr",
|
|
||||||
"xps": "application/vnd.ms-xpsdocument",
|
|
||||||
"xpw": "application/vnd.intercon.formnet",
|
|
||||||
"xpx": "application/vnd.intercon.formnet",
|
|
||||||
"xsl": "application/xml",
|
|
||||||
"xslt": "application/xslt+xml",
|
|
||||||
"xsm": "application/vnd.syncml+xml",
|
|
||||||
"xspf": "application/xspf+xml",
|
|
||||||
"xul": "application/vnd.mozilla.xul+xml",
|
|
||||||
"xvm": "application/xv+xml",
|
|
||||||
"xvml": "application/xv+xml",
|
|
||||||
"xwd": "image/x-xwindowdump",
|
|
||||||
"xyz": "chemical/x-xyz",
|
|
||||||
"zaz": "application/vnd.zzazz.deck+xml",
|
|
||||||
"zip": "application/zip",
|
|
||||||
"zir": "application/vnd.zul",
|
|
||||||
"zirz": "application/vnd.zul",
|
|
||||||
"zmm": "application/vnd.handheld-entertainment+xml"
|
|
||||||
}
|
|
|
@ -13,4 +13,19 @@ export class FileUtil {
|
||||||
}
|
}
|
||||||
return extensions;
|
return extensions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static toDataUrl(blob: Blob): Promise<string | ArrayBuffer> {
|
||||||
|
return new Promise<string | ArrayBuffer>((resolve, reject) => {
|
||||||
|
const fileReader = new FileReader();
|
||||||
|
fileReader.readAsDataURL(blob);
|
||||||
|
|
||||||
|
fileReader.onload = () => {
|
||||||
|
return resolve(fileReader.result);
|
||||||
|
};
|
||||||
|
fileReader.onerror = (event: ProgressEvent) => {
|
||||||
|
fileReader.abort();
|
||||||
|
return reject(fileReader.error);
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
874
projects/ucap-webmessenger-core/src/lib/utils/mime.util.ts
Normal file
874
projects/ucap-webmessenger-core/src/lib/utils/mime.util.ts
Normal file
|
@ -0,0 +1,874 @@
|
||||||
|
const MimeMap: Map<string, string> = new Map([
|
||||||
|
['123', 'application/vnd.lotus-1-2-3'],
|
||||||
|
['3dml', 'text/vnd.in3d.3dml'],
|
||||||
|
['3g2', 'video/3gpp2'],
|
||||||
|
['3gp', 'video/3gpp'],
|
||||||
|
['7z', 'application/x-7z-compressed'],
|
||||||
|
['a', 'application/octet-stream'],
|
||||||
|
['a01', 'application/x-arj-compressed'],
|
||||||
|
['a02', 'application/x-arj-compressed'],
|
||||||
|
['a03', 'application/x-arj-compressed'],
|
||||||
|
['a04', 'application/x-arj-compressed'],
|
||||||
|
['a05', 'application/x-arj-compressed'],
|
||||||
|
['a06', 'application/x-arj-compressed'],
|
||||||
|
['a07', 'application/x-arj-compressed'],
|
||||||
|
['aab', 'application/x-authorware-bin'],
|
||||||
|
['aac', 'audio/x-aac'],
|
||||||
|
['aam', 'application/x-authorware-map'],
|
||||||
|
['aas', 'application/x-authorware-seg'],
|
||||||
|
['abw', 'application/x-abiword'],
|
||||||
|
['acc', 'application/vnd.americandynamics.acc'],
|
||||||
|
['ace', 'application/x-ace-compressed'],
|
||||||
|
['acu', 'application/vnd.acucobol'],
|
||||||
|
['acutc', 'application/vnd.acucorp'],
|
||||||
|
['adp', 'audio/adpcm'],
|
||||||
|
['aep', 'application/vnd.audiograph'],
|
||||||
|
['afm', 'application/x-font-type1'],
|
||||||
|
['afp', 'application/vnd.ibm.modcap'],
|
||||||
|
['ai', 'application/postscript'],
|
||||||
|
['aif', 'audio/x-aiff'],
|
||||||
|
['aifc', 'audio/x-aiff'],
|
||||||
|
['aiff', 'audio/x-aiff'],
|
||||||
|
['air', 'application/vnd.adobe.air-application-installer-package+zip'],
|
||||||
|
['alz', 'application/x-alz'],
|
||||||
|
['ami', 'application/vnd.amiga.ami'],
|
||||||
|
['apk', 'application/vnd.android.package-archive'],
|
||||||
|
['application', 'application/x-ms-application'],
|
||||||
|
['apr', 'application/vnd.lotus-approach'],
|
||||||
|
['asc', 'application/pgp-signature'],
|
||||||
|
['asf', 'video/x-ms-asf'],
|
||||||
|
['asm', 'text/x-asm'],
|
||||||
|
['aso', 'application/vnd.accpac.simply.aso'],
|
||||||
|
['asx', 'video/x-ms-asf'],
|
||||||
|
['atc', 'application/vnd.acucorp'],
|
||||||
|
['atom', 'application/atom+xml'],
|
||||||
|
['atomcat', 'application/atomcat+xml'],
|
||||||
|
['atomsvc', 'application/atomsvc+xml'],
|
||||||
|
['atx', 'application/vnd.antix.game-component'],
|
||||||
|
['au', 'audio/basic'],
|
||||||
|
['avi', 'video/x-msvideo'],
|
||||||
|
['aw', 'application/applixware'],
|
||||||
|
['azf', 'application/vnd.airzip.filesecure.azf'],
|
||||||
|
['azs', 'application/vnd.airzip.filesecure.azs'],
|
||||||
|
['azw', 'application/vnd.amazon.ebook'],
|
||||||
|
['bat', 'application/x-msdownload'],
|
||||||
|
['bcpio', 'application/x-bcpio'],
|
||||||
|
['bdf', 'application/x-font-bdf'],
|
||||||
|
['bdm', 'application/vnd.syncml.dm+wbxml'],
|
||||||
|
['bh2', 'application/vnd.fujitsu.oasysprs'],
|
||||||
|
['bin', 'application/octet-stream'],
|
||||||
|
['bmi', 'application/vnd.bmi'],
|
||||||
|
['bmp', 'image/bmp'],
|
||||||
|
['book', 'application/vnd.framemaker'],
|
||||||
|
['box', 'application/vnd.previewsystems.box'],
|
||||||
|
['boz', 'application/x-bzip2'],
|
||||||
|
['bpk', 'application/octet-stream'],
|
||||||
|
['btif', 'image/prs.btif'],
|
||||||
|
['bz', 'application/x-bzip'],
|
||||||
|
['bz2', 'application/x-bzip2'],
|
||||||
|
['c', 'text/x-c'],
|
||||||
|
['c4d', 'application/vnd.clonk.c4group'],
|
||||||
|
['c4f', 'application/vnd.clonk.c4group'],
|
||||||
|
['c4g', 'application/vnd.clonk.c4group'],
|
||||||
|
['c4p', 'application/vnd.clonk.c4group'],
|
||||||
|
['c4u', 'application/vnd.clonk.c4group'],
|
||||||
|
['cab', 'application/vnd.ms-cab-compressed'],
|
||||||
|
['car', 'application/vnd.curl.car'],
|
||||||
|
['cat', 'application/vnd.ms-pki.seccat'],
|
||||||
|
['cc', 'text/x-c'],
|
||||||
|
['cct', 'application/x-director'],
|
||||||
|
['ccxml', 'application/ccxml+xml'],
|
||||||
|
['cdbcmsg', 'application/vnd.contact.cmsg'],
|
||||||
|
['cdf', 'application/x-netcdf'],
|
||||||
|
['cdkey', 'application/vnd.mediastation.cdkey'],
|
||||||
|
['cdr', 'image/x-coreldraw'],
|
||||||
|
['cdx', 'chemical/x-cdx'],
|
||||||
|
['cdxml', 'application/vnd.chemdraw+xml'],
|
||||||
|
['cdy', 'application/vnd.cinderella'],
|
||||||
|
['cer', 'application/pkix-cert'],
|
||||||
|
['cgm', 'image/cgm'],
|
||||||
|
['chat', 'application/x-chat'],
|
||||||
|
['chm', 'application/vnd.ms-htmlhelp'],
|
||||||
|
['chrt', 'application/vnd.kde.kchart'],
|
||||||
|
['cif', 'chemical/x-cif'],
|
||||||
|
['cii', 'application/vnd.anser-web-certificate-issue-initiation'],
|
||||||
|
['cil', 'application/vnd.ms-artgalry'],
|
||||||
|
['cla', 'application/vnd.claymore'],
|
||||||
|
['class', 'application/java-vm'],
|
||||||
|
['clkk', 'application/vnd.crick.clicker.keyboard'],
|
||||||
|
['clkp', 'application/vnd.crick.clicker.palette'],
|
||||||
|
['clkt', 'application/vnd.crick.clicker.template'],
|
||||||
|
['clkw', 'application/vnd.crick.clicker.wordbank'],
|
||||||
|
['clkx', 'application/vnd.crick.clicker'],
|
||||||
|
['clp', 'application/x-msclip'],
|
||||||
|
['cmc', 'application/vnd.cosmocaller'],
|
||||||
|
['cmdf', 'chemical/x-cmdf'],
|
||||||
|
['cml', 'chemical/x-cml'],
|
||||||
|
['cmp', 'application/vnd.yellowriver-custom-menu'],
|
||||||
|
['cmx', 'image/x-cmx'],
|
||||||
|
['cod', 'application/vnd.rim.cod'],
|
||||||
|
['com', 'application/x-msdownload'],
|
||||||
|
['conf', 'text/plain'],
|
||||||
|
['cpio', 'application/x-cpio'],
|
||||||
|
['cpp', 'text/x-c'],
|
||||||
|
['cpt', 'application/mac-compactpro'],
|
||||||
|
['crd', 'application/x-mscardfile'],
|
||||||
|
['crl', 'application/pkix-crl'],
|
||||||
|
['crt', 'application/x-x509-ca-cert'],
|
||||||
|
['csh', 'application/x-csh'],
|
||||||
|
['csml', 'chemical/x-csml'],
|
||||||
|
['csp', 'application/vnd.commonspace'],
|
||||||
|
['css', 'text/css'],
|
||||||
|
['cst', 'application/x-director'],
|
||||||
|
['csv', 'text/csv'],
|
||||||
|
['cu', 'application/cu-seeme'],
|
||||||
|
['curl', 'text/vnd.curl'],
|
||||||
|
['cww', 'application/prs.cww'],
|
||||||
|
['cxt', 'application/x-director'],
|
||||||
|
['cxx', 'text/x-c'],
|
||||||
|
['daf', 'application/vnd.mobius.daf'],
|
||||||
|
['dataless', 'application/vnd.fdsn.seed'],
|
||||||
|
['davmount', 'application/davmount+xml'],
|
||||||
|
['dcr', 'application/x-director'],
|
||||||
|
['dcurl', 'text/vnd.curl.dcurl'],
|
||||||
|
['dd2', 'application/vnd.oma.dd2+xml'],
|
||||||
|
['ddd', 'application/vnd.fujixerox.ddd'],
|
||||||
|
['deb', 'application/x-debian-package'],
|
||||||
|
['def', 'text/plain'],
|
||||||
|
['deploy', 'application/octet-stream'],
|
||||||
|
['der', 'application/x-x509-ca-cert'],
|
||||||
|
['dfac', 'application/vnd.dreamfactory'],
|
||||||
|
['dic', 'text/x-c'],
|
||||||
|
['diff', 'text/plain'],
|
||||||
|
['dir', 'application/x-director'],
|
||||||
|
['dis', 'application/vnd.mobius.dis'],
|
||||||
|
['dist', 'application/octet-stream'],
|
||||||
|
['distz', 'application/octet-stream'],
|
||||||
|
['djv', 'image/vnd.djvu'],
|
||||||
|
['djvu', 'image/vnd.djvu'],
|
||||||
|
['dll', 'application/x-msdownload'],
|
||||||
|
['dmg', 'application/octet-stream'],
|
||||||
|
['dms', 'application/octet-stream'],
|
||||||
|
['dna', 'application/vnd.dna'],
|
||||||
|
['doc', 'application/msword'],
|
||||||
|
['docm', 'application/vnd.ms-word.document.macroenabled.12'],
|
||||||
|
[
|
||||||
|
'docx',
|
||||||
|
'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
|
||||||
|
],
|
||||||
|
['dot', 'application/msword'],
|
||||||
|
['dotm', 'application/vnd.ms-word.template.macroenabled.12'],
|
||||||
|
[
|
||||||
|
'dotx',
|
||||||
|
'application/vnd.openxmlformats-officedocument.wordprocessingml.template'
|
||||||
|
],
|
||||||
|
['dp', 'application/vnd.osgi.dp'],
|
||||||
|
['dpg', 'application/vnd.dpgraph'],
|
||||||
|
['dsc', 'text/prs.lines.tag'],
|
||||||
|
['dtb', 'application/x-dtbook+xml'],
|
||||||
|
['dtd', 'application/xml-dtd'],
|
||||||
|
['dts', 'audio/vnd.dts'],
|
||||||
|
['dtshd', 'audio/vnd.dts.hd'],
|
||||||
|
['dump', 'application/octet-stream'],
|
||||||
|
['dvi', 'application/x-dvi'],
|
||||||
|
['dwf', 'model/vnd.dwf'],
|
||||||
|
['dwg', 'image/vnd.dwg'],
|
||||||
|
['dws', 'application/octet-stream'],
|
||||||
|
['dwt', 'application/x-autocad'],
|
||||||
|
['dxf', 'image/vnd.dxf'],
|
||||||
|
['dxp', 'application/vnd.spotfire.dxp'],
|
||||||
|
['dxr', 'application/x-director'],
|
||||||
|
['ecelp4800', 'audio/vnd.nuera.ecelp4800'],
|
||||||
|
['ecelp7470', 'audio/vnd.nuera.ecelp7470'],
|
||||||
|
['ecelp9600', 'audio/vnd.nuera.ecelp9600'],
|
||||||
|
['ecma', 'application/ecmascript'],
|
||||||
|
['edm', 'application/vnd.novadigm.edm'],
|
||||||
|
['edx', 'application/vnd.novadigm.edx'],
|
||||||
|
['efif', 'application/vnd.picsel'],
|
||||||
|
['egg', 'application/x-egg'],
|
||||||
|
['ei6', 'application/vnd.pg.osasli'],
|
||||||
|
['elc', 'application/octet-stream'],
|
||||||
|
['emf', 'image/emf'],
|
||||||
|
['eml', 'message/rfc822'],
|
||||||
|
['emma', 'application/emma+xml'],
|
||||||
|
['eol', 'audio/vnd.digital-winds'],
|
||||||
|
['eot', 'application/vnd.ms-fontobject'],
|
||||||
|
['eps', 'application/postscript'],
|
||||||
|
['epub', 'application/epub+zip'],
|
||||||
|
['es3', 'application/vnd.eszigno3+xml'],
|
||||||
|
['esf', 'application/vnd.epson.esf'],
|
||||||
|
['et3', 'application/vnd.eszigno3+xml'],
|
||||||
|
['etx', 'text/x-setext'],
|
||||||
|
['exe', 'application/x-msdownload'],
|
||||||
|
['ext', 'application/vnd.novadigm.ext'],
|
||||||
|
['ez', 'application/andrew-inset'],
|
||||||
|
['ez2', 'application/vnd.ezpix-album'],
|
||||||
|
['ez3', 'application/vnd.ezpix-package'],
|
||||||
|
['f', 'text/x-fortran'],
|
||||||
|
['f4v', 'video/x-f4v'],
|
||||||
|
['f77', 'text/x-fortran'],
|
||||||
|
['f90', 'text/x-fortran'],
|
||||||
|
['fbs', 'image/vnd.fastbidsheet'],
|
||||||
|
['fdf', 'application/vnd.fdf'],
|
||||||
|
['fe_launch', 'application/vnd.denovo.fcselayout-link'],
|
||||||
|
['fg5', 'application/vnd.fujitsu.oasysgp'],
|
||||||
|
['fgd', 'application/x-director'],
|
||||||
|
['fh', 'image/x-freehand'],
|
||||||
|
['fh4', 'image/x-freehand'],
|
||||||
|
['fh5', 'image/x-freehand'],
|
||||||
|
['fh7', 'image/x-freehand'],
|
||||||
|
['fhc', 'image/x-freehand'],
|
||||||
|
['fig', 'application/x-xfig'],
|
||||||
|
['fla', 'application/octet-stream'],
|
||||||
|
['flac', 'audio/flac'],
|
||||||
|
['fli', 'video/x-fli'],
|
||||||
|
['flo', 'application/vnd.micrografx.flo'],
|
||||||
|
['flv', 'video/x-flv'],
|
||||||
|
['flw', 'application/vnd.kde.kivio'],
|
||||||
|
['flx', 'text/vnd.fmi.flexstor'],
|
||||||
|
['fly', 'text/vnd.fly'],
|
||||||
|
['fm', 'application/vnd.framemaker'],
|
||||||
|
['fnc', 'application/vnd.frogans.fnc'],
|
||||||
|
['for', 'text/x-fortran'],
|
||||||
|
['fpx', 'image/vnd.fpx'],
|
||||||
|
['frame', 'application/vnd.framemaker'],
|
||||||
|
['fsc', 'application/vnd.fsc.weblaunch'],
|
||||||
|
['fst', 'image/vnd.fst'],
|
||||||
|
['ftc', 'application/vnd.fluxtime.clip'],
|
||||||
|
['fti', 'application/vnd.anser-web-funds-transfer-initiation'],
|
||||||
|
['fvt', 'video/vnd.fvt'],
|
||||||
|
['fzs', 'application/vnd.fuzzysheet'],
|
||||||
|
['g3', 'image/g3fax'],
|
||||||
|
['gac', 'application/vnd.groove-account'],
|
||||||
|
['gdl', 'model/vnd.gdl'],
|
||||||
|
['geo', 'application/vnd.dynageo'],
|
||||||
|
['gex', 'application/vnd.geometry-explorer'],
|
||||||
|
['ggb', 'application/vnd.geogebra.file'],
|
||||||
|
['ggt', 'application/vnd.geogebra.tool'],
|
||||||
|
['ghf', 'application/vnd.groove-help'],
|
||||||
|
['gif', 'image/gif'],
|
||||||
|
['gim', 'application/vnd.groove-identity-message'],
|
||||||
|
['gmx', 'application/vnd.gmx'],
|
||||||
|
['gnumeric', 'application/x-gnumeric'],
|
||||||
|
['gph', 'application/vnd.flographit'],
|
||||||
|
['gqf', 'application/vnd.grafeq'],
|
||||||
|
['gqs', 'application/vnd.grafeq'],
|
||||||
|
['gram', 'application/srgs'],
|
||||||
|
['gre', 'application/vnd.geometry-explorer'],
|
||||||
|
['grv', 'application/vnd.groove-injector'],
|
||||||
|
['grxml', 'application/srgs+xml'],
|
||||||
|
['gsf', 'application/x-font-ghostscript'],
|
||||||
|
['gtar', 'application/x-gtar'],
|
||||||
|
['gtm', 'application/vnd.groove-tool-message'],
|
||||||
|
['gtw', 'model/vnd.gtw'],
|
||||||
|
['gv', 'text/vnd.graphviz'],
|
||||||
|
['gz', 'application/x-gzip'],
|
||||||
|
['h', 'text/x-c'],
|
||||||
|
['h261', 'video/h261'],
|
||||||
|
['h263', 'video/h263'],
|
||||||
|
['h264', 'video/h264'],
|
||||||
|
['hbci', 'application/vnd.hbci'],
|
||||||
|
['hdf', 'application/x-hdf'],
|
||||||
|
['hh', 'text/x-c'],
|
||||||
|
['hlp', 'application/winhlp'],
|
||||||
|
['hpgl', 'application/vnd.hp-hpgl'],
|
||||||
|
['hpid', 'application/vnd.hp-hpid'],
|
||||||
|
['hps', 'application/vnd.hp-hps'],
|
||||||
|
['hqx', 'application/mac-binhex40'],
|
||||||
|
['htke', 'application/vnd.kenameaapp'],
|
||||||
|
['htm', 'text/html'],
|
||||||
|
['html', 'text/html'],
|
||||||
|
['hvd', 'application/vnd.yamaha.hv-dic'],
|
||||||
|
['hvp', 'application/vnd.yamaha.hv-voice'],
|
||||||
|
['hvs', 'application/vnd.yamaha.hv-script'],
|
||||||
|
['hwp', 'application/x-hwp'],
|
||||||
|
['icc', 'application/vnd.iccprofile'],
|
||||||
|
['ice', 'x-conference/x-cooltalk'],
|
||||||
|
['icm', 'application/vnd.iccprofile'],
|
||||||
|
['ico', 'image/x-icon'],
|
||||||
|
['ics', 'text/calendar'],
|
||||||
|
['ief', 'image/ief'],
|
||||||
|
['ifb', 'text/calendar'],
|
||||||
|
['ifm', 'application/vnd.shana.informed.formdata'],
|
||||||
|
['iges', 'model/iges'],
|
||||||
|
['igl', 'application/vnd.igloader'],
|
||||||
|
['igs', 'model/iges'],
|
||||||
|
['igx', 'application/vnd.micrografx.igx'],
|
||||||
|
['iif', 'application/vnd.shana.informed.interchange'],
|
||||||
|
['imp', 'application/vnd.accpac.simply.imp'],
|
||||||
|
['ims', 'application/vnd.ms-ims'],
|
||||||
|
['in', 'text/plain'],
|
||||||
|
['ipk', 'application/vnd.shana.informed.package'],
|
||||||
|
['irm', 'application/vnd.ibm.rights-management'],
|
||||||
|
['irp', 'application/vnd.irepository.package+xml'],
|
||||||
|
['iso', 'application/octet-stream'],
|
||||||
|
['itp', 'application/vnd.shana.informed.formtemplate'],
|
||||||
|
['ivp', 'application/vnd.immervision-ivp'],
|
||||||
|
['ivu', 'application/vnd.immervision-ivu'],
|
||||||
|
['jad', 'text/vnd.sun.j2me.app-descriptor'],
|
||||||
|
['jam', 'application/vnd.jam'],
|
||||||
|
['jar', 'application/java-archive'],
|
||||||
|
['java', 'text/x-java-source'],
|
||||||
|
['jisp', 'application/vnd.jisp'],
|
||||||
|
['jlt', 'application/vnd.hp-jlyt'],
|
||||||
|
['jnlp', 'application/x-java-jnlp-file'],
|
||||||
|
['joda', 'application/vnd.joost.joda-archive'],
|
||||||
|
['jpe', 'image/jpeg'],
|
||||||
|
['jpeg', 'image/jpeg'],
|
||||||
|
['jpg', 'image/jpeg'],
|
||||||
|
['jpgm', 'video/jpm'],
|
||||||
|
['jpgv', 'video/jpeg'],
|
||||||
|
['jpm', 'video/jpm'],
|
||||||
|
['js', 'application/javascript'],
|
||||||
|
['json', 'application/json'],
|
||||||
|
['kar', 'audio/midi'],
|
||||||
|
['karbon', 'application/vnd.kde.karbon'],
|
||||||
|
['keynote', 'application/vnd.apple.keynote'],
|
||||||
|
['kfo', 'application/vnd.kde.kformula'],
|
||||||
|
['kia', 'application/vnd.kidspiration'],
|
||||||
|
['kil', 'application/x-killustrator'],
|
||||||
|
['kml', 'application/vnd.google-earth.kml+xml'],
|
||||||
|
['kmz', 'application/vnd.google-earth.kmz'],
|
||||||
|
['kne', 'application/vnd.kinar'],
|
||||||
|
['knp', 'application/vnd.kinar'],
|
||||||
|
['kon', 'application/vnd.kde.kontour'],
|
||||||
|
['kpr', 'application/vnd.kde.kpresenter'],
|
||||||
|
['kpt', 'application/vnd.kde.kpresenter'],
|
||||||
|
['ksh', 'text/plain'],
|
||||||
|
['ksp', 'application/vnd.kde.kspread'],
|
||||||
|
['ktr', 'application/vnd.kahootz'],
|
||||||
|
['ktz', 'application/vnd.kahootz'],
|
||||||
|
['kwd', 'application/vnd.kde.kword'],
|
||||||
|
['kwt', 'application/vnd.kde.kword'],
|
||||||
|
['latex', 'application/x-latex'],
|
||||||
|
['lbd', 'application/vnd.llamagraphics.life-balance.desktop'],
|
||||||
|
['lbe', 'application/vnd.llamagraphics.life-balance.exchange+xml'],
|
||||||
|
['les', 'application/vnd.hhe.lesson-player'],
|
||||||
|
['lha', 'application/octet-stream'],
|
||||||
|
['link66', 'application/vnd.route66.link66+xml'],
|
||||||
|
['list', 'text/plain'],
|
||||||
|
['list3820', 'application/vnd.ibm.modcap'],
|
||||||
|
['listafp', 'application/vnd.ibm.modcap'],
|
||||||
|
['log', 'text/plain'],
|
||||||
|
['lostxml', 'application/lost+xml'],
|
||||||
|
['lrf', 'application/octet-stream'],
|
||||||
|
['lrm', 'application/vnd.ms-lrm'],
|
||||||
|
['ltf', 'application/vnd.frogans.ltf'],
|
||||||
|
['lvp', 'audio/vnd.lucent.voice'],
|
||||||
|
['lwp', 'application/vnd.lotus-wordpro'],
|
||||||
|
['lzh', 'application/octet-stream'],
|
||||||
|
['m13', 'application/x-msmediaview'],
|
||||||
|
['m14', 'application/x-msmediaview'],
|
||||||
|
['m1v', 'video/mpeg'],
|
||||||
|
['m2a', 'audio/mpeg'],
|
||||||
|
['m2v', 'video/mpeg'],
|
||||||
|
['m3a', 'audio/mpeg'],
|
||||||
|
['m3u', 'audio/x-mpegurl'],
|
||||||
|
['m4a', 'audio/x-m4a'],
|
||||||
|
['m4u', 'video/vnd.mpegurl'],
|
||||||
|
['m4v', 'video/x-m4v'],
|
||||||
|
['ma', 'application/mathematica'],
|
||||||
|
['mag', 'application/vnd.ecowin.chart'],
|
||||||
|
['maker', 'application/vnd.framemaker'],
|
||||||
|
['man', 'text/troff'],
|
||||||
|
['mathml', 'application/mathml+xml'],
|
||||||
|
['mb', 'application/mathematica'],
|
||||||
|
['mbk', 'application/vnd.mobius.mbk'],
|
||||||
|
['mbox', 'application/mbox'],
|
||||||
|
['mc1', 'application/vnd.medcalcdata'],
|
||||||
|
['mcd', 'application/vnd.mcd'],
|
||||||
|
['mcurl', 'text/vnd.curl.mcurl'],
|
||||||
|
['mdb', 'application/x-msaccess'],
|
||||||
|
['mdi', 'image/vnd.ms-modi'],
|
||||||
|
['me', 'text/troff'],
|
||||||
|
['mesh', 'model/mesh'],
|
||||||
|
['mfm', 'application/vnd.mfmp'],
|
||||||
|
['mgz', 'application/vnd.proteus.magazine'],
|
||||||
|
['mht', 'message/rfc822'],
|
||||||
|
['mhtml', 'message/rfc822'],
|
||||||
|
['mid', 'audio/midi'],
|
||||||
|
['midi', 'audio/midi'],
|
||||||
|
['mif', 'application/vnd.mif'],
|
||||||
|
['mime', 'message/rfc822'],
|
||||||
|
['mj2', 'video/mj2'],
|
||||||
|
['mjp2', 'video/mj2'],
|
||||||
|
['mkv', 'video/x-matroska'],
|
||||||
|
['mlp', 'application/vnd.dolby.mlp'],
|
||||||
|
['mmd', 'application/vnd.chipnuts.karaoke-mmd'],
|
||||||
|
['mmf', 'application/vnd.smaf'],
|
||||||
|
['mmr', 'image/vnd.fujixerox.edmics-mmr'],
|
||||||
|
['mny', 'application/x-msmoney'],
|
||||||
|
['mobi', 'application/x-mobipocket-ebook'],
|
||||||
|
['mov', 'video/quicktime'],
|
||||||
|
['movie', 'video/x-sgi-movie'],
|
||||||
|
['mp2', 'audio/mpeg'],
|
||||||
|
['mp2a', 'audio/mpeg'],
|
||||||
|
['mp3', 'audio/mpeg'],
|
||||||
|
['mp4', 'video/mp4'],
|
||||||
|
['mp4a', 'audio/mp4'],
|
||||||
|
['mp4s', 'application/mp4'],
|
||||||
|
['mp4v', 'video/mp4'],
|
||||||
|
['mpa', 'video/mpeg'],
|
||||||
|
['mpc', 'application/vnd.mophun.certificate'],
|
||||||
|
['mpe', 'video/mpeg'],
|
||||||
|
['mpeg', 'video/mpeg'],
|
||||||
|
['mpega', 'audio/mpeg'],
|
||||||
|
['mpg', 'video/mpeg'],
|
||||||
|
['mpg4', 'video/mp4'],
|
||||||
|
['mpga', 'audio/mpeg'],
|
||||||
|
['mpkg', 'application/vnd.apple.installer+xml'],
|
||||||
|
['mpm', 'application/vnd.blueice.multipass'],
|
||||||
|
['mpn', 'application/vnd.mophun.application'],
|
||||||
|
['mpp', 'application/vnd.ms-project'],
|
||||||
|
['mpt', 'application/vnd.ms-project'],
|
||||||
|
['mpy', 'application/vnd.ibm.minipay'],
|
||||||
|
['mqy', 'application/vnd.mobius.mqy'],
|
||||||
|
['mrc', 'application/marc'],
|
||||||
|
['ms', 'text/troff'],
|
||||||
|
['mscml', 'application/mediaservercontrol+xml'],
|
||||||
|
['mseed', 'application/vnd.fdsn.mseed'],
|
||||||
|
['mseq', 'application/vnd.mseq'],
|
||||||
|
['msf', 'application/vnd.epson.msf'],
|
||||||
|
['msh', 'model/mesh'],
|
||||||
|
['msi', 'application/x-msdownload'],
|
||||||
|
['msl', 'application/vnd.mobius.msl'],
|
||||||
|
['msty', 'application/vnd.muvee.style'],
|
||||||
|
['mts', 'model/vnd.mts'],
|
||||||
|
['mus', 'application/vnd.musician'],
|
||||||
|
['musicxml', 'application/vnd.recordare.musicxml+xml'],
|
||||||
|
['mvb', 'application/x-msmediaview'],
|
||||||
|
['mwf', 'application/vnd.mfer'],
|
||||||
|
['mxf', 'application/mxf'],
|
||||||
|
['mxl', 'application/vnd.recordare.musicxml'],
|
||||||
|
['mxml', 'application/xv+xml'],
|
||||||
|
['mxs', 'application/vnd.triscape.mxs'],
|
||||||
|
['mxu', 'video/vnd.mpegurl'],
|
||||||
|
['n-gage', 'application/vnd.nokia.n-gage.symbian.install'],
|
||||||
|
['nb', 'application/mathematica'],
|
||||||
|
['nc', 'application/x-netcdf'],
|
||||||
|
['ncx', 'application/x-dtbncx+xml'],
|
||||||
|
['ngdat', 'application/vnd.nokia.n-gage.data'],
|
||||||
|
['nlu', 'application/vnd.neurolanguage.nlu'],
|
||||||
|
['nml', 'application/vnd.enliven'],
|
||||||
|
['nnd', 'application/vnd.noblenet-directory'],
|
||||||
|
['nns', 'application/vnd.noblenet-sealer'],
|
||||||
|
['nnw', 'application/vnd.noblenet-web'],
|
||||||
|
['npx', 'image/vnd.net-fpx'],
|
||||||
|
['nsf', 'application/vnd.lotus-notes'],
|
||||||
|
['numbers', 'application/vnd.apple.numbers'],
|
||||||
|
['nws', 'message/rfc822'],
|
||||||
|
['o', 'application/octet-stream'],
|
||||||
|
['oa2', 'application/vnd.fujitsu.oasys2'],
|
||||||
|
['oa3', 'application/vnd.fujitsu.oasys3'],
|
||||||
|
['oas', 'application/vnd.fujitsu.oasys'],
|
||||||
|
['obd', 'application/x-msbinder'],
|
||||||
|
['obj', 'application/octet-stream'],
|
||||||
|
['oda', 'application/oda'],
|
||||||
|
['odb', 'application/vnd.oasis.opendocument.database'],
|
||||||
|
['odc', 'application/vnd.oasis.opendocument.chart'],
|
||||||
|
['odf', 'application/vnd.oasis.opendocument.formula'],
|
||||||
|
['odft', 'application/vnd.oasis.opendocument.formula-template'],
|
||||||
|
['odg', 'application/vnd.oasis.opendocument.graphics'],
|
||||||
|
['odi', 'application/vnd.oasis.opendocument.image'],
|
||||||
|
['odp', 'application/vnd.oasis.opendocument.presentation'],
|
||||||
|
['ods', 'application/vnd.oasis.opendocument.spreadsheet'],
|
||||||
|
['odt', 'application/vnd.oasis.opendocument.text'],
|
||||||
|
['oga', 'audio/ogg'],
|
||||||
|
['ogg', 'audio/ogg'],
|
||||||
|
['ogv', 'video/ogg'],
|
||||||
|
['ogx', 'application/ogg'],
|
||||||
|
['one', 'application/msonenote'],
|
||||||
|
['onepkg', 'application/onenote'],
|
||||||
|
['onetmp', 'application/onenote'],
|
||||||
|
['onetoc', 'application/onenote'],
|
||||||
|
['onetoc2', 'application/onenote'],
|
||||||
|
['opf', 'application/oebps-package+xml'],
|
||||||
|
['oprc', 'application/vnd.palm'],
|
||||||
|
['org', 'application/vnd.lotus-organizer'],
|
||||||
|
['osf', 'application/vnd.yamaha.openscoreformat'],
|
||||||
|
['osfpvg', 'application/vnd.yamaha.openscoreformat.osfpvg+xml'],
|
||||||
|
['otc', 'application/vnd.oasis.opendocument.chart-template'],
|
||||||
|
['otf', 'application/x-font-otf'],
|
||||||
|
['otg', 'application/vnd.oasis.opendocument.graphics-template'],
|
||||||
|
['oth', 'application/vnd.oasis.opendocument.text-web'],
|
||||||
|
['oti', 'application/vnd.oasis.opendocument.image-template'],
|
||||||
|
['otm', 'application/vnd.oasis.opendocument.text-master'],
|
||||||
|
['otp', 'application/vnd.oasis.opendocument.presentation-template'],
|
||||||
|
['ots', 'application/vnd.oasis.opendocument.spreadsheet-template'],
|
||||||
|
['ott', 'application/vnd.oasis.opendocument.text-template'],
|
||||||
|
['oxt', 'application/vnd.openofficeorg.extension'],
|
||||||
|
['p', 'text/x-pascal'],
|
||||||
|
['p10', 'application/pkcs10'],
|
||||||
|
['p12', 'application/x-pkcs12'],
|
||||||
|
['p7b', 'application/x-pkcs7-certificates'],
|
||||||
|
['p7c', 'application/pkcs7-mime'],
|
||||||
|
['p7m', 'application/pkcs7-mime'],
|
||||||
|
['p7r', 'application/x-pkcs7-certreqresp'],
|
||||||
|
['p7s', 'application/pkcs7-signature'],
|
||||||
|
['pas', 'text/x-pascal'],
|
||||||
|
['pages', 'application/vnd.apple.pages'],
|
||||||
|
['pbd', 'application/vnd.powerbuilder6'],
|
||||||
|
['pbm', 'image/x-portable-bitmap'],
|
||||||
|
['pcf', 'application/x-font-pcf'],
|
||||||
|
['pcl', 'application/vnd.hp-pcl'],
|
||||||
|
['pclxl', 'application/vnd.hp-pclxl'],
|
||||||
|
['pct', 'image/x-pict'],
|
||||||
|
['pcurl', 'application/vnd.curl.pcurl'],
|
||||||
|
['pcx', 'image/x-pcx'],
|
||||||
|
['pdb', 'application/vnd.palm'],
|
||||||
|
['pdf', 'application/pdf'],
|
||||||
|
['pfa', 'application/x-font-type1'],
|
||||||
|
['pfb', 'application/x-font-type1'],
|
||||||
|
['pfm', 'application/x-font-type1'],
|
||||||
|
['pfr', 'application/font-tdpfr'],
|
||||||
|
['pfx', 'application/x-pkcs12'],
|
||||||
|
['pgm', 'image/x-portable-graymap'],
|
||||||
|
['pgn', 'application/x-chess-pgn'],
|
||||||
|
['pgp', 'application/pgp-encrypted'],
|
||||||
|
['pic', 'image/x-pict'],
|
||||||
|
['pkg', 'application/octet-stream'],
|
||||||
|
['pki', 'application/pkixcmp'],
|
||||||
|
['pkipath', 'application/pkix-pkipath'],
|
||||||
|
['pl', 'text/plain'],
|
||||||
|
['plb', 'application/vnd.3gpp.pic-bw-large'],
|
||||||
|
['plc', 'application/vnd.mobius.plc'],
|
||||||
|
['plf', 'application/vnd.pocketlearn'],
|
||||||
|
['pls', 'application/pls+xml'],
|
||||||
|
['plt', 'Application/octet-stream'],
|
||||||
|
['pml', 'application/vnd.ctc-posml'],
|
||||||
|
['png', 'image/png'],
|
||||||
|
['pnm', 'image/x-portable-anymap'],
|
||||||
|
['portpkg', 'application/vnd.macports.portpkg'],
|
||||||
|
['pot', 'application/vnd.ms-powerpoint'],
|
||||||
|
['potm', 'application/vnd.ms-powerpoint.template.macroenabled.12'],
|
||||||
|
[
|
||||||
|
'potx',
|
||||||
|
'application/vnd.openxmlformats-officedocument.presentationml.template'
|
||||||
|
],
|
||||||
|
['ppa', 'application/vnd.ms-powerpoint'],
|
||||||
|
['ppam', 'application/vnd.ms-powerpoint.addin.macroenabled.12'],
|
||||||
|
['ppd', 'application/vnd.cups-ppd'],
|
||||||
|
['ppm', 'image/x-portable-pixmap'],
|
||||||
|
['pps', 'application/vnd.ms-powerpoint'],
|
||||||
|
['ppsm', 'application/vnd.ms-powerpoint.slideshow.macroenabled.12'],
|
||||||
|
[
|
||||||
|
'ppsx',
|
||||||
|
'application/vnd.openxmlformats-officedocument.presentationml.slideshow'
|
||||||
|
],
|
||||||
|
['ppt', 'application/vnd.ms-powerpoint'],
|
||||||
|
['pptm', 'application/vnd.ms-powerpoint.presentation.macroenabled.12'],
|
||||||
|
[
|
||||||
|
'pptx',
|
||||||
|
'application/vnd.openxmlformats-officedocument.presentationml.presentation'
|
||||||
|
],
|
||||||
|
['pqa', 'application/vnd.palm'],
|
||||||
|
['prc', 'application/x-mobipocket-ebook'],
|
||||||
|
['pre', 'application/vnd.lotus-freelance'],
|
||||||
|
['prf', 'application/pics-rules'],
|
||||||
|
['ps', 'application/postscript'],
|
||||||
|
['psb', 'application/vnd.3gpp.pic-bw-small'],
|
||||||
|
['psd', 'image/vnd.adobe.photoshop'],
|
||||||
|
['psf', 'application/x-font-linux-psf'],
|
||||||
|
['ptid', 'application/vnd.pvi.ptid1'],
|
||||||
|
['pub', 'application/x-mspublisher'],
|
||||||
|
['pvb', 'application/vnd.3gpp.pic-bw-var'],
|
||||||
|
['pwn', 'application/vnd.3m.post-it-notes'],
|
||||||
|
['pwz', 'application/vnd.ms-powerpoint'],
|
||||||
|
['py', 'text/x-python'],
|
||||||
|
['pya', 'audio/vnd.ms-playready.media.pya'],
|
||||||
|
['pyc', 'application/x-python-code'],
|
||||||
|
['pyo', 'application/x-python-code'],
|
||||||
|
['pyv', 'video/vnd.ms-playready.media.pyv'],
|
||||||
|
['qam', 'application/vnd.epson.quickanime'],
|
||||||
|
['qbo', 'application/vnd.intu.qbo'],
|
||||||
|
['qfx', 'application/vnd.intu.qfx'],
|
||||||
|
['qps', 'application/vnd.publishare-delta-tree'],
|
||||||
|
['qt', 'video/quicktime'],
|
||||||
|
['qwd', 'application/vnd.quark.quarkxpress'],
|
||||||
|
['qwt', 'application/vnd.quark.quarkxpress'],
|
||||||
|
['qxb', 'application/vnd.quark.quarkxpress'],
|
||||||
|
['qxd', 'application/vnd.quark.quarkxpress'],
|
||||||
|
['qxl', 'application/vnd.quark.quarkxpress'],
|
||||||
|
['qxt', 'application/vnd.quark.quarkxpress'],
|
||||||
|
['ra', 'audio/x-pn-realaudio'],
|
||||||
|
['ram', 'audio/x-pn-realaudio'],
|
||||||
|
['rar', 'application/x-rar-compressed'],
|
||||||
|
['ras', 'image/x-cmu-raster'],
|
||||||
|
['rcprofile', 'application/vnd.ipunplugged.rcprofile'],
|
||||||
|
['rdf', 'application/rdf+xml'],
|
||||||
|
['rdz', 'application/vnd.data-vision.rdz'],
|
||||||
|
['rep', 'application/vnd.businessobjects'],
|
||||||
|
['res', 'application/x-dtbresource+xml'],
|
||||||
|
['rgb', 'image/x-rgb'],
|
||||||
|
['rif', 'application/reginfo+xml'],
|
||||||
|
['rl', 'application/resource-lists+xml'],
|
||||||
|
['rlc', 'image/vnd.fujixerox.edmics-rlc'],
|
||||||
|
['rld', 'application/resource-lists-diff+xml'],
|
||||||
|
['rm', 'application/vnd.rn-realmedia'],
|
||||||
|
['rmi', 'audio/midi'],
|
||||||
|
['rmp', 'audio/x-pn-realaudio-plugin'],
|
||||||
|
['rms', 'application/vnd.jcp.javame.midlet-rms'],
|
||||||
|
['rnc', 'application/relax-ng-compact-syntax'],
|
||||||
|
['roff', 'text/troff'],
|
||||||
|
['rpm', 'application/x-rpm'],
|
||||||
|
['rpss', 'application/vnd.nokia.radio-presets'],
|
||||||
|
['rpst', 'application/vnd.nokia.radio-preset'],
|
||||||
|
['rq', 'application/sparql-query'],
|
||||||
|
['rs', 'application/rls-services+xml'],
|
||||||
|
['rsd', 'application/rsd+xml'],
|
||||||
|
['rss', 'application/rss+xml'],
|
||||||
|
['rtf', 'application/rtf'],
|
||||||
|
['rtx', 'text/richtext'],
|
||||||
|
['rv', 'video/vnd.rn-realvideo'],
|
||||||
|
['s', 'text/x-asm'],
|
||||||
|
['saf', 'application/vnd.yamaha.smaf-audio'],
|
||||||
|
['sbml', 'application/sbml+xml'],
|
||||||
|
['sc', 'application/vnd.ibm.secure-container'],
|
||||||
|
['scd', 'application/x-msschedule'],
|
||||||
|
['scm', 'application/vnd.lotus-screencam'],
|
||||||
|
['scq', 'application/scvp-cv-request'],
|
||||||
|
['scs', 'application/scvp-cv-response'],
|
||||||
|
['scurl', 'text/vnd.curl.scurl'],
|
||||||
|
['sda', 'application/vnd.stardivision.draw'],
|
||||||
|
['sdc', 'application/vnd.stardivision.calc'],
|
||||||
|
['sdd', 'application/vnd.stardivision.impress'],
|
||||||
|
['sdkd', 'application/vnd.solent.sdkm+xml'],
|
||||||
|
['sdkm', 'application/vnd.solent.sdkm+xml'],
|
||||||
|
['sdp', 'application/sdp'],
|
||||||
|
['sdw', 'application/vnd.stardivision.writer'],
|
||||||
|
['see', 'application/vnd.seemail'],
|
||||||
|
['seed', 'application/vnd.fdsn.seed'],
|
||||||
|
['sema', 'application/vnd.sema'],
|
||||||
|
['semd', 'application/vnd.semd'],
|
||||||
|
['semf', 'application/vnd.semf'],
|
||||||
|
['ser', 'application/java-serialized-object'],
|
||||||
|
['setpay', 'application/set-payment-initiation'],
|
||||||
|
['setreg', 'application/set-registration-initiation'],
|
||||||
|
['sfd-hdstx', 'application/vnd.hydrostatix.sof-data'],
|
||||||
|
['sfs', 'application/vnd.spotfire.sfs'],
|
||||||
|
['sgl', 'application/vnd.stardivision.writer-global'],
|
||||||
|
['sgm', 'text/sgml'],
|
||||||
|
['sgml', 'text/sgml'],
|
||||||
|
['sh', 'application/x-sh'],
|
||||||
|
['shar', 'application/x-shar'],
|
||||||
|
['shf', 'application/shf+xml'],
|
||||||
|
['si', 'text/vnd.wap.si'],
|
||||||
|
['sic', 'application/vnd.wap.sic'],
|
||||||
|
['sig', 'application/pgp-signature'],
|
||||||
|
['silo', 'model/mesh'],
|
||||||
|
['sis', 'application/vnd.symbian.install'],
|
||||||
|
['sisx', 'application/vnd.symbian.install'],
|
||||||
|
['sit', 'application/x-stuffit'],
|
||||||
|
['sitx', 'application/x-stuffitx'],
|
||||||
|
['skd', 'application/vnd.koan'],
|
||||||
|
['skm', 'application/vnd.koan'],
|
||||||
|
['skp', 'application/vnd.koan'],
|
||||||
|
['skt', 'application/vnd.koan'],
|
||||||
|
['sl', 'text/vnd.wap.sl'],
|
||||||
|
['slc', 'application/vnd.wap.slc'],
|
||||||
|
['sldm', 'application/vnd.ms-powerpoint.slide.macroenabled.12'],
|
||||||
|
[
|
||||||
|
'sldx',
|
||||||
|
'application/vnd.openxmlformats-officedocument.presentationml.slide'
|
||||||
|
],
|
||||||
|
['slt', 'application/vnd.epson.salt'],
|
||||||
|
['smf', 'application/vnd.stardivision.math'],
|
||||||
|
['smi', 'application/smil+xml'],
|
||||||
|
['smil', 'application/smil+xml'],
|
||||||
|
['snd', 'audio/basic'],
|
||||||
|
['snf', 'application/x-font-snf'],
|
||||||
|
['so', 'application/octet-stream'],
|
||||||
|
['spc', 'application/x-pkcs7-certificates'],
|
||||||
|
['spf', 'application/vnd.yamaha.smaf-phrase'],
|
||||||
|
['spl', 'application/x-futuresplash'],
|
||||||
|
['spot', 'text/vnd.in3d.spot'],
|
||||||
|
['spp', 'application/scvp-vp-response'],
|
||||||
|
['spq', 'application/scvp-vp-request'],
|
||||||
|
['spx', 'audio/ogg'],
|
||||||
|
['src', 'application/x-wais-source'],
|
||||||
|
['srx', 'application/sparql-results+xml'],
|
||||||
|
['sse', 'application/vnd.kodak-descriptor'],
|
||||||
|
['ssf', 'application/vnd.epson.ssf'],
|
||||||
|
['ssml', 'application/ssml+xml'],
|
||||||
|
['stc', 'application/vnd.sun.xml.calc.template'],
|
||||||
|
['std', 'application/vnd.sun.xml.draw.template'],
|
||||||
|
['stf', 'application/vnd.wt.stf'],
|
||||||
|
['sti', 'application/vnd.sun.xml.impress.template'],
|
||||||
|
['stk', 'application/hyperstudio'],
|
||||||
|
['stl', 'application/vnd.ms-pki.stl'],
|
||||||
|
['str', 'application/vnd.pg.format'],
|
||||||
|
['stw', 'application/vnd.sun.xml.writer.template'],
|
||||||
|
['sus', 'application/vnd.sus-calendar'],
|
||||||
|
['susp', 'application/vnd.sus-calendar'],
|
||||||
|
['sv4cpio', 'application/x-sv4cpio'],
|
||||||
|
['sv4crc', 'application/x-sv4crc'],
|
||||||
|
['svd', 'application/vnd.svd'],
|
||||||
|
['svg', 'image/svg+xml'],
|
||||||
|
['svgz', 'image/svg+xml'],
|
||||||
|
['swa', 'application/x-director'],
|
||||||
|
['swf', 'application/x-shockwave-flash'],
|
||||||
|
['swi', 'application/vnd.arastra.swi'],
|
||||||
|
['sxc', 'application/vnd.sun.xml.calc'],
|
||||||
|
['sxd', 'application/vnd.sun.xml.draw'],
|
||||||
|
['sxg', 'application/vnd.sun.xml.writer.global'],
|
||||||
|
['sxi', 'application/vnd.sun.xml.impress'],
|
||||||
|
['sxm', 'application/vnd.sun.xml.math'],
|
||||||
|
['sxw', 'application/vnd.sun.xml.writer'],
|
||||||
|
['t', 'text/troff'],
|
||||||
|
['tao', 'application/vnd.tao.intent-module-archive'],
|
||||||
|
['tar', 'application/x-tar'],
|
||||||
|
['tcap', 'application/vnd.3gpp2.tcap'],
|
||||||
|
['tcl', 'application/x-tcl'],
|
||||||
|
['teacher', 'application/vnd.smart.teacher'],
|
||||||
|
['tex', 'application/x-tex'],
|
||||||
|
['texi', 'application/x-texinfo'],
|
||||||
|
['texinfo', 'application/x-texinfo'],
|
||||||
|
['text', 'text/plain'],
|
||||||
|
['tfm', 'application/x-tex-tfm'],
|
||||||
|
['tgz', 'application/x-gzip'],
|
||||||
|
['tif', 'image/tiff'],
|
||||||
|
['tiff', 'image/tiff'],
|
||||||
|
['tmo', 'application/vnd.tmobile-livetv'],
|
||||||
|
['torrent', 'application/x-bittorrent'],
|
||||||
|
['tpl', 'application/vnd.groove-tool-template'],
|
||||||
|
['tpt', 'application/vnd.trid.tpt'],
|
||||||
|
['tr', 'text/troff'],
|
||||||
|
['tra', 'application/vnd.trueapp'],
|
||||||
|
['trm', 'application/x-msterminal'],
|
||||||
|
['ts', 'video/MP2T'],
|
||||||
|
['tsv', 'text/tab-separated-values'],
|
||||||
|
['ttc', 'application/x-font-ttf'],
|
||||||
|
['ttf', 'application/x-font-ttf'],
|
||||||
|
['twd', 'application/vnd.simtech-mindmapper'],
|
||||||
|
['twds', 'application/vnd.simtech-mindmapper'],
|
||||||
|
['txd', 'application/vnd.genomatix.tuxedo'],
|
||||||
|
['txf', 'application/vnd.mobius.txf'],
|
||||||
|
['txt', 'text/plain'],
|
||||||
|
['u32', 'application/x-authorware-bin'],
|
||||||
|
['udeb', 'application/x-debian-package'],
|
||||||
|
['ufd', 'application/vnd.ufdl'],
|
||||||
|
['ufdl', 'application/vnd.ufdl'],
|
||||||
|
['umj', 'application/vnd.umajin'],
|
||||||
|
['unityweb', 'application/vnd.unity'],
|
||||||
|
['uoml', 'application/vnd.uoml+xml'],
|
||||||
|
['uri', 'text/uri-list'],
|
||||||
|
['uris', 'text/uri-list'],
|
||||||
|
['urls', 'text/uri-list'],
|
||||||
|
['ustar', 'application/x-ustar'],
|
||||||
|
['utz', 'application/vnd.uiq.theme'],
|
||||||
|
['uu', 'text/x-uuencode'],
|
||||||
|
['vcd', 'application/x-cdlink'],
|
||||||
|
['vcf', 'text/x-vcard'],
|
||||||
|
['vcg', 'application/vnd.groove-vcard'],
|
||||||
|
['vcs', 'text/x-vcalendar'],
|
||||||
|
['vcx', 'application/vnd.vcx'],
|
||||||
|
['vis', 'application/vnd.visionary'],
|
||||||
|
['viv', 'video/vnd.vivo'],
|
||||||
|
['vor', 'application/vnd.stardivision.writer'],
|
||||||
|
['vox', 'application/x-authorware-bin'],
|
||||||
|
['vrml', 'model/vrml'],
|
||||||
|
['vsd', 'application/vnd.visio'],
|
||||||
|
['vsf', 'application/vnd.vsf'],
|
||||||
|
['vss', 'application/vnd.visio'],
|
||||||
|
['vst', 'application/vnd.visio'],
|
||||||
|
['vsw', 'application/vnd.visio'],
|
||||||
|
['vtu', 'model/vnd.vtu'],
|
||||||
|
['vxml', 'application/voicexml+xml'],
|
||||||
|
['w3d', 'application/x-director'],
|
||||||
|
['wad', 'application/x-doom'],
|
||||||
|
['wav', 'audio/x-wav'],
|
||||||
|
['wax', 'audio/x-ms-wax'],
|
||||||
|
['wbmp', 'image/vnd.wap.wbmp'],
|
||||||
|
['wbs', 'application/vnd.criticaltools.wbs+xml'],
|
||||||
|
['wbxml', 'application/vnd.wap.wbxml'],
|
||||||
|
['wcm', 'application/vnd.ms-works'],
|
||||||
|
['wdb', 'application/vnd.ms-works'],
|
||||||
|
['webm', 'video/webm'],
|
||||||
|
['wiz', 'application/msword'],
|
||||||
|
['wks', 'application/vnd.ms-works'],
|
||||||
|
['wm', 'video/x-ms-wm'],
|
||||||
|
['wma', 'audio/x-ms-wma'],
|
||||||
|
['wmd', 'application/x-ms-wmd'],
|
||||||
|
['wmf', 'application/x-msmetafile'],
|
||||||
|
['wml', 'text/vnd.wap.wml'],
|
||||||
|
['wmlc', 'application/vnd.wap.wmlc'],
|
||||||
|
['wmls', 'text/vnd.wap.wmlscript'],
|
||||||
|
['wmlsc', 'application/vnd.wap.wmlscriptc'],
|
||||||
|
['wmv', 'video/x-ms-wmv'],
|
||||||
|
['wmx', 'video/x-ms-wmx'],
|
||||||
|
['wmz', 'application/x-ms-wmz'],
|
||||||
|
['wpd', 'application/vnd.wordperfect'],
|
||||||
|
['wpl', 'application/vnd.ms-wpl'],
|
||||||
|
['wps', 'application/vnd.ms-works'],
|
||||||
|
['wqd', 'application/vnd.wqd'],
|
||||||
|
['wri', 'application/x-mswrite'],
|
||||||
|
['wrl', 'model/vrml'],
|
||||||
|
['wsdl', 'application/wsdl+xml'],
|
||||||
|
['wspolicy', 'application/wspolicy+xml'],
|
||||||
|
['wtb', 'application/vnd.webturbo'],
|
||||||
|
['wvx', 'video/x-ms-wvx'],
|
||||||
|
['x32', 'application/x-authorware-bin'],
|
||||||
|
['x3d', 'application/vnd.hzn-3d-crossword'],
|
||||||
|
['xap', 'application/x-silverlight-app'],
|
||||||
|
['xar', 'application/vnd.xara'],
|
||||||
|
['xbap', 'application/x-ms-xbap'],
|
||||||
|
['xbd', 'application/vnd.fujixerox.docuworks.binder'],
|
||||||
|
['xbm', 'image/x-xbitmap'],
|
||||||
|
['xdm', 'application/vnd.syncml.dm+xml'],
|
||||||
|
['xdp', 'application/vnd.adobe.xdp+xml'],
|
||||||
|
['xdw', 'application/vnd.fujixerox.docuworks'],
|
||||||
|
['xenc', 'application/xenc+xml'],
|
||||||
|
['xer', 'application/patch-ops-error+xml'],
|
||||||
|
['xfdf', 'application/vnd.adobe.xfdf'],
|
||||||
|
['xfdl', 'application/vnd.xfdl'],
|
||||||
|
['xht', 'application/xhtml+xml'],
|
||||||
|
['xhtml', 'application/xhtml+xml'],
|
||||||
|
['xhvml', 'application/xv+xml'],
|
||||||
|
['xif', 'image/vnd.xiff'],
|
||||||
|
['xla', 'application/vnd.ms-excel'],
|
||||||
|
['xlam', 'application/vnd.ms-excel.addin.macroenabled.12'],
|
||||||
|
['xlb', 'application/vnd.ms-excel'],
|
||||||
|
['xlc', 'application/vnd.ms-excel'],
|
||||||
|
['xlm', 'application/vnd.ms-excel'],
|
||||||
|
['xls', 'application/vnd.ms-excel'],
|
||||||
|
['xlsb', 'application/vnd.ms-excel.sheet.binary.macroenabled.12'],
|
||||||
|
['xlsm', 'application/vnd.ms-excel.sheet.macroenabled.12'],
|
||||||
|
['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
|
||||||
|
['xlt', 'application/vnd.ms-excel'],
|
||||||
|
['xltm', 'application/vnd.ms-excel.template.macroenabled.12'],
|
||||||
|
[
|
||||||
|
'xltx',
|
||||||
|
'application/vnd.openxmlformats-officedocument.spreadsheetml.template'
|
||||||
|
],
|
||||||
|
['xlw', 'application/vnd.ms-excel'],
|
||||||
|
['xml', 'application/xml'],
|
||||||
|
['xo', 'application/vnd.olpc-sugar'],
|
||||||
|
['xop', 'application/xop+xml'],
|
||||||
|
['xpdl', 'application/xml'],
|
||||||
|
['xpi', 'application/x-xpinstall'],
|
||||||
|
['xpm', 'image/x-xpixmap'],
|
||||||
|
['xpr', 'application/vnd.is-xpr'],
|
||||||
|
['xps', 'application/vnd.ms-xpsdocument'],
|
||||||
|
['xpw', 'application/vnd.intercon.formnet'],
|
||||||
|
['xpx', 'application/vnd.intercon.formnet'],
|
||||||
|
['xsl', 'application/xml'],
|
||||||
|
['xslt', 'application/xslt+xml'],
|
||||||
|
['xsm', 'application/vnd.syncml+xml'],
|
||||||
|
['xspf', 'application/xspf+xml'],
|
||||||
|
['xul', 'application/vnd.mozilla.xul+xml'],
|
||||||
|
['xvm', 'application/xv+xml'],
|
||||||
|
['xvml', 'application/xv+xml'],
|
||||||
|
['xwd', 'image/x-xwindowdump'],
|
||||||
|
['xyz', 'chemical/x-xyz'],
|
||||||
|
['zaz', 'application/vnd.zzazz.deck+xml'],
|
||||||
|
['zip', 'application/zip'],
|
||||||
|
['zir', 'application/vnd.zul'],
|
||||||
|
['zirz', 'application/vnd.zul'],
|
||||||
|
['zmm', 'application/vnd.handheld-entertainment+xml']
|
||||||
|
]);
|
||||||
|
|
||||||
|
export class MimeUtil {
|
||||||
|
static getMimeFromExtension(ext: string): string | undefined {
|
||||||
|
return MimeMap.get(ext);
|
||||||
|
}
|
||||||
|
}
|
|
@ -21,4 +21,5 @@ export * from './lib/types/status-type.type';
|
||||||
export * from './lib/types/video-conference-type.type';
|
export * from './lib/types/video-conference-type.type';
|
||||||
|
|
||||||
export * from './lib/utils/file.util';
|
export * from './lib/utils/file.util';
|
||||||
|
export * from './lib/utils/mime.util';
|
||||||
export * from './lib/utils/string.util';
|
export * from './lib/utils/string.util';
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
[userSeq]="userSeq"
|
[userSeq]="userSeq"
|
||||||
[deviceType]="deviceType"
|
[deviceType]="deviceType"
|
||||||
[token]="token"
|
[token]="token"
|
||||||
|
(download)="onDownload($event)"
|
||||||
(closed)="onClosedViewer()"
|
(closed)="onClosedViewer()"
|
||||||
></ucap-document-viewer>
|
></ucap-document-viewer>
|
||||||
<ucap-image-viewer
|
<ucap-image-viewer
|
||||||
|
@ -18,6 +19,7 @@
|
||||||
[userSeq]="userSeq"
|
[userSeq]="userSeq"
|
||||||
[deviceType]="deviceType"
|
[deviceType]="deviceType"
|
||||||
[token]="token"
|
[token]="token"
|
||||||
|
(download)="onDownload($event)"
|
||||||
(closed)="onClosedViewer()"
|
(closed)="onClosedViewer()"
|
||||||
></ucap-image-viewer>
|
></ucap-image-viewer>
|
||||||
<ucap-sound-viewer
|
<ucap-sound-viewer
|
||||||
|
@ -27,6 +29,7 @@
|
||||||
[userSeq]="userSeq"
|
[userSeq]="userSeq"
|
||||||
[deviceType]="deviceType"
|
[deviceType]="deviceType"
|
||||||
[token]="token"
|
[token]="token"
|
||||||
|
(download)="onDownload($event)"
|
||||||
(closed)="onClosedViewer()"
|
(closed)="onClosedViewer()"
|
||||||
></ucap-sound-viewer>
|
></ucap-sound-viewer>
|
||||||
<ucap-video-viewer
|
<ucap-video-viewer
|
||||||
|
@ -36,6 +39,7 @@
|
||||||
[userSeq]="userSeq"
|
[userSeq]="userSeq"
|
||||||
[deviceType]="deviceType"
|
[deviceType]="deviceType"
|
||||||
[token]="token"
|
[token]="token"
|
||||||
|
(download)="onDownload($event)"
|
||||||
(closed)="onClosedViewer()"
|
(closed)="onClosedViewer()"
|
||||||
></ucap-video-viewer>
|
></ucap-video-viewer>
|
||||||
<ucap-binary-viewer
|
<ucap-binary-viewer
|
||||||
|
@ -45,6 +49,7 @@
|
||||||
[userSeq]="userSeq"
|
[userSeq]="userSeq"
|
||||||
[deviceType]="deviceType"
|
[deviceType]="deviceType"
|
||||||
[token]="token"
|
[token]="token"
|
||||||
|
(download)="onDownload($event)"
|
||||||
(closed)="onClosedViewer()"
|
(closed)="onClosedViewer()"
|
||||||
></ucap-binary-viewer>
|
></ucap-binary-viewer>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -27,6 +27,9 @@ export class FileViewerComponent implements OnInit {
|
||||||
@Input()
|
@Input()
|
||||||
token: string;
|
token: string;
|
||||||
|
|
||||||
|
@Output()
|
||||||
|
download = new EventEmitter<Blob>();
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
closed = new EventEmitter<void>();
|
closed = new EventEmitter<void>();
|
||||||
|
|
||||||
|
@ -48,6 +51,9 @@ export class FileViewerComponent implements OnInit {
|
||||||
return FileViewerType.Binary;
|
return FileViewerType.Binary;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
onDownload(blob: Blob): void {
|
||||||
|
this.download.emit(blob);
|
||||||
|
}
|
||||||
|
|
||||||
onClosedViewer(): void {
|
onClosedViewer(): void {
|
||||||
this.closed.emit();
|
this.closed.emit();
|
||||||
|
|
|
@ -25,9 +25,19 @@ export class BinaryViewerComponent implements OnInit {
|
||||||
@Input()
|
@Input()
|
||||||
token: string;
|
token: string;
|
||||||
|
|
||||||
|
@Output()
|
||||||
|
download = new EventEmitter<Blob>();
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
closed = new EventEmitter<void>();
|
closed = new EventEmitter<void>();
|
||||||
|
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
|
||||||
ngOnInit() {}
|
ngOnInit() {}
|
||||||
|
|
||||||
|
onClickDownload(): void {}
|
||||||
|
|
||||||
|
onClickClose(): void {
|
||||||
|
this.closed.emit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,9 +25,19 @@ export class DocumentViewerComponent implements OnInit {
|
||||||
@Input()
|
@Input()
|
||||||
token: string;
|
token: string;
|
||||||
|
|
||||||
|
@Output()
|
||||||
|
download = new EventEmitter<Blob>();
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
closed = new EventEmitter<void>();
|
closed = new EventEmitter<void>();
|
||||||
|
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
|
||||||
ngOnInit() {}
|
ngOnInit() {}
|
||||||
|
|
||||||
|
onClickDownload(): void {}
|
||||||
|
|
||||||
|
onClickClose(): void {
|
||||||
|
this.closed.emit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<div class="ucap-image-viewer-container">
|
<div class="ucap-image-viewer-container">
|
||||||
<mat-toolbar color="primary" class="ucap-image-viewer-header">
|
<mat-toolbar color="accent" class="ucap-image-viewer-header">
|
||||||
<mat-icon class="ucap-image-viewer-icon">image</mat-icon>
|
<mat-icon class="ucap-image-viewer-icon">image</mat-icon>
|
||||||
<span class="ucap-image-viewer-title">{{ fileInfo.fileName }}</span>
|
<span class="ucap-image-viewer-title">{{ fileInfo.fileName }}</span>
|
||||||
<span class="ucap-image-viewer-spacer"></span>
|
<span class="ucap-image-viewer-spacer"></span>
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
class="ucap-image-viewer-action"
|
class="ucap-image-viewer-action"
|
||||||
matTooltip="이미지 크기 재설정"
|
matTooltip="이미지 크기 재설정"
|
||||||
matTooltipPosition="below"
|
matTooltipPosition="below"
|
||||||
aria-label="Button that displays a tooltip in various positions"
|
aria-label=""
|
||||||
>
|
>
|
||||||
<mat-icon>settings_overscan</mat-icon>
|
<mat-icon>settings_overscan</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
class="ucap-image-viewer-action"
|
class="ucap-image-viewer-action"
|
||||||
matTooltip="축소"
|
matTooltip="축소"
|
||||||
matTooltipPosition="below"
|
matTooltipPosition="below"
|
||||||
aria-label="Button that displays a tooltip in various positions"
|
aria-label=""
|
||||||
>
|
>
|
||||||
<mat-icon>zoom_out</mat-icon>
|
<mat-icon>zoom_out</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
class="ucap-image-viewer-action"
|
class="ucap-image-viewer-action"
|
||||||
matTooltip="확대"
|
matTooltip="확대"
|
||||||
matTooltipPosition="below"
|
matTooltipPosition="below"
|
||||||
aria-label="Button that displays a tooltip in various positions"
|
aria-label=""
|
||||||
>
|
>
|
||||||
<mat-icon>zoom_in</mat-icon>
|
<mat-icon>zoom_in</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
|
@ -36,7 +36,8 @@
|
||||||
class="ucap-image-viewer-action"
|
class="ucap-image-viewer-action"
|
||||||
matTooltip="다운로드"
|
matTooltip="다운로드"
|
||||||
matTooltipPosition="below"
|
matTooltipPosition="below"
|
||||||
aria-label="Button that displays a tooltip in various positions"
|
aria-label=""
|
||||||
|
(click)="onClickDownload()"
|
||||||
>
|
>
|
||||||
<mat-icon>get_app</mat-icon>
|
<mat-icon>get_app</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
|
@ -50,8 +51,20 @@
|
||||||
Close
|
Close
|
||||||
</button>
|
</button>
|
||||||
</mat-toolbar>
|
</mat-toolbar>
|
||||||
|
<mat-progress-bar
|
||||||
|
*ngIf="fileDownloadItem.downloadingProgress$ && !imageSrc"
|
||||||
|
mode="determinate"
|
||||||
|
[value]="fileDownloadItem.downloadingProgress$ | async"
|
||||||
|
></mat-progress-bar>
|
||||||
<div class="ucap-image-viewer-body">
|
<div class="ucap-image-viewer-body">
|
||||||
<img />
|
<div
|
||||||
{{ fileDownloadItem.downloadingProgress$ | async }}
|
class="ucap-image-viewer-image-wrapper"
|
||||||
|
fxLayout="row"
|
||||||
|
fxLayout.xs="column"
|
||||||
|
fxFlexFill
|
||||||
|
fxLayoutAlign="center center"
|
||||||
|
>
|
||||||
|
<img *ngIf="imageSrc" [src]="imageSrc" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -21,5 +21,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.ucap-image-viewer-body {
|
.ucap-image-viewer-body {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
.ucap-image-viewer-image-wrapper {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
|
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
|
||||||
import { ucapAnimations } from '../../animations';
|
import { ucapAnimations } from '../../animations';
|
||||||
import { FileEventJson } from '@ucap-webmessenger/protocol-event';
|
import { FileEventJson } from '@ucap-webmessenger/protocol-event';
|
||||||
import { DeviceType } from '@ucap-webmessenger/core';
|
import { DeviceType, FileUtil, MimeUtil } from '@ucap-webmessenger/core';
|
||||||
import {
|
import {
|
||||||
CommonApiService,
|
CommonApiService,
|
||||||
FileDownloadItem
|
FileDownloadItem
|
||||||
} from '@ucap-webmessenger/api-common';
|
} from '@ucap-webmessenger/api-common';
|
||||||
import { take, map } from 'rxjs/operators';
|
import { take, map } from 'rxjs/operators';
|
||||||
|
import { DomSanitizer } from '@angular/platform-browser';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ucap-image-viewer',
|
selector: 'ucap-image-viewer',
|
||||||
|
@ -33,15 +34,22 @@ export class ImageViewerComponent implements OnInit {
|
||||||
@Output()
|
@Output()
|
||||||
closed = new EventEmitter<void>();
|
closed = new EventEmitter<void>();
|
||||||
|
|
||||||
imageSrc: string;
|
@Output()
|
||||||
|
download = new EventEmitter<Blob>();
|
||||||
|
|
||||||
|
blob: Blob;
|
||||||
|
imageSrc: string | ArrayBuffer;
|
||||||
|
|
||||||
fileDownloadItem: FileDownloadItem;
|
fileDownloadItem: FileDownloadItem;
|
||||||
|
|
||||||
constructor(private commonApiService: CommonApiService) {}
|
constructor(
|
||||||
|
private domSanitizer: DomSanitizer,
|
||||||
|
private commonApiService: CommonApiService
|
||||||
|
) {
|
||||||
|
this.fileDownloadItem = new FileDownloadItem();
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.fileDownloadItem = new FileDownloadItem();
|
|
||||||
|
|
||||||
this.commonApiService
|
this.commonApiService
|
||||||
.fileTalkDownload(
|
.fileTalkDownload(
|
||||||
{
|
{
|
||||||
|
@ -55,13 +63,22 @@ export class ImageViewerComponent implements OnInit {
|
||||||
)
|
)
|
||||||
.pipe(
|
.pipe(
|
||||||
take(1),
|
take(1),
|
||||||
map(aaa => {
|
map(async blob => {
|
||||||
console.log('fileTalkDownload', aaa);
|
this.blob = blob.slice(
|
||||||
|
0,
|
||||||
|
blob.size,
|
||||||
|
MimeUtil.getMimeFromExtension(this.fileInfo.fileExt)
|
||||||
|
);
|
||||||
|
this.imageSrc = await FileUtil.toDataUrl(this.blob);
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
.subscribe();
|
.subscribe();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onClickDownload(): void {
|
||||||
|
this.download.emit(this.blob);
|
||||||
|
}
|
||||||
|
|
||||||
onClickClose(): void {
|
onClickClose(): void {
|
||||||
this.closed.emit();
|
this.closed.emit();
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,9 +25,19 @@ export class SoundViewerComponent implements OnInit {
|
||||||
@Input()
|
@Input()
|
||||||
token: string;
|
token: string;
|
||||||
|
|
||||||
|
@Output()
|
||||||
|
download = new EventEmitter<Blob>();
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
closed = new EventEmitter<void>();
|
closed = new EventEmitter<void>();
|
||||||
|
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
|
||||||
ngOnInit() {}
|
ngOnInit() {}
|
||||||
|
|
||||||
|
onClickDownload(): void {}
|
||||||
|
|
||||||
|
onClickClose(): void {
|
||||||
|
this.closed.emit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,9 +25,19 @@ export class VideoViewerComponent implements OnInit {
|
||||||
@Input()
|
@Input()
|
||||||
token: string;
|
token: string;
|
||||||
|
|
||||||
|
@Output()
|
||||||
|
download = new EventEmitter<Blob>();
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
closed = new EventEmitter<void>();
|
closed = new EventEmitter<void>();
|
||||||
|
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
|
||||||
ngOnInit() {}
|
ngOnInit() {}
|
||||||
|
|
||||||
|
onClickDownload(): void {}
|
||||||
|
|
||||||
|
onClickClose(): void {
|
||||||
|
this.closed.emit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,8 +5,7 @@ import {
|
||||||
Output,
|
Output,
|
||||||
Input,
|
Input,
|
||||||
AfterViewInit,
|
AfterViewInit,
|
||||||
OnInit,
|
OnInit
|
||||||
HostListener
|
|
||||||
} from '@angular/core';
|
} from '@angular/core';
|
||||||
|
|
||||||
import { NGXLogger } from 'ngx-logger';
|
import { NGXLogger } from 'ngx-logger';
|
||||||
|
@ -28,7 +27,7 @@ export class ImageDirective implements OnInit, AfterViewInit {
|
||||||
default: string;
|
default: string;
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
loaded = new EventEmitter<string>();
|
loaded = new EventEmitter<HTMLImageElement>();
|
||||||
|
|
||||||
imageSrc: string;
|
imageSrc: string;
|
||||||
|
|
||||||
|
@ -53,7 +52,7 @@ export class ImageDirective implements OnInit, AfterViewInit {
|
||||||
ngAfterViewInit(): void {
|
ngAfterViewInit(): void {
|
||||||
if (this.imageSrc === this.default) {
|
if (this.imageSrc === this.default) {
|
||||||
this.elementRef.nativeElement.src = this.default;
|
this.elementRef.nativeElement.src = this.default;
|
||||||
this.loaded.emit(this.elementRef.nativeElement.src);
|
this.loaded.emit(this.elementRef.nativeElement);
|
||||||
} else {
|
} else {
|
||||||
this.elementRef.nativeElement.src = this.default;
|
this.elementRef.nativeElement.src = this.default;
|
||||||
|
|
||||||
|
@ -71,11 +70,11 @@ export class ImageDirective implements OnInit, AfterViewInit {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.elementRef.nativeElement.src = image.src;
|
this.elementRef.nativeElement.src = image.src;
|
||||||
this.loaded.emit(this.elementRef.nativeElement.src);
|
this.loaded.emit(image);
|
||||||
};
|
};
|
||||||
image.onerror = () => {
|
image.onerror = () => {
|
||||||
this.elementRef.nativeElement.src = this.default;
|
this.elementRef.nativeElement.src = this.default;
|
||||||
this.loaded.emit(this.elementRef.nativeElement.src);
|
this.loaded.emit(this.elementRef.nativeElement);
|
||||||
};
|
};
|
||||||
image.src = imageUrl;
|
image.src = imageUrl;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user