mirror of
https://github.com/mickael-kerjean/filestash.git
synced 2025-11-03 04:50:14 +08:00
39 lines
1.4 KiB
JavaScript
39 lines
1.4 KiB
JavaScript
import Path from "path";
|
|
|
|
export function getMimeType(file) {
|
|
const ext = Path.extname(file).replace(/^\./, "").toLowerCase();
|
|
if (!window.CONFIG.mime[ext]) {
|
|
return "text/plain";
|
|
}
|
|
return window.CONFIG.mime[ext];
|
|
}
|
|
|
|
export function opener(file) {
|
|
const mime = getMimeType(file);
|
|
const openerFromPlugin = window.overrides["xdg-open"](mime);
|
|
if (openerFromPlugin !== null) {
|
|
return openerFromPlugin;
|
|
} else if (mime.split("/")[0] === "text") {
|
|
return ["editor", null];
|
|
} else if (mime === "application/pdf") {
|
|
return ["pdf", null];
|
|
} else if (mime.split("/")[0] === "image") {
|
|
return ["image", null];
|
|
} else if (["application/javascript", "application/xml", "application/json",
|
|
"application/x-perl"].indexOf(mime) !== -1) {
|
|
return ["editor", null];
|
|
} else if (["audio/wave", "audio/mp3", "audio/flac", "audio/ogg"].indexOf(mime) !== -1) {
|
|
return ["audio", null];
|
|
} else if (mime === "application/x-form") {
|
|
return ["form", null];
|
|
} else if (mime.split("/")[0] === "video" || mime === "application/ogg") {
|
|
return ["video", null];
|
|
} else if(["application/epub+zip"].indexOf(mime) !== -1) {
|
|
return ["ebook", null];
|
|
} else if (mime.split("/")[0] === "application") {
|
|
return ["download", null];
|
|
} else {
|
|
return ["editor", null];
|
|
}
|
|
}
|