@teenth/sdk-tool
Version:
sdk-tool with R2 storage support
37 lines (36 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateUniqueFileName = exports.getMimeType = void 0;
function getMimeType(fileName) {
const ext = fileName.split(".").pop()?.toLowerCase();
const mimeTypes = {
jpg: "image/jpeg",
jpeg: "image/jpeg",
png: "image/png",
gif: "image/gif",
webp: "image/webp",
svg: "image/svg+xml",
pdf: "application/pdf",
txt: "text/plain",
json: "application/json",
xml: "application/xml",
html: "text/html",
css: "text/css",
js: "application/javascript",
zip: "application/zip",
rar: "application/x-rar-compressed",
mp4: "video/mp4",
mp3: "audio/mpeg",
wav: "audio/wav",
};
return mimeTypes[ext || ""] || "application/octet-stream";
}
exports.getMimeType = getMimeType;
function generateUniqueFileName(originalName, prefix = "") {
const timestamp = Date.now();
const random = Math.random().toString(36).substring(2, 15);
const ext = originalName.split(".").pop();
const baseName = originalName.split(".").slice(0, -1).join(".");
return `${prefix}${prefix ? "_" : ""}${baseName}_${timestamp}_${random}.${ext}`;
}
exports.generateUniqueFileName = generateUniqueFileName;