cloudku-uploader
Version:
Blazing-fast, zero-dependency uploader for CloudKu. Supports auto-conversion, chunked uploads, and TypeScript. Easily upload images, videos, audio, and documents via Node.js.
76 lines (62 loc) • 2.19 kB
JavaScript
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
import {
uploadFile,
uploadSmart,
uploadTemp,
uploadPermanent,
uploadBatch,
parseExpireTime,
upload30s,
upload15m,
upload6h,
upload7d,
upload3M,
upload1y
} from './index.mjs';
// __dirname equivalent in ESM
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// Ubah path jika nama file beda
const testFilePath = path.join(__dirname, 'test.jpg');
const fileBuffer = fs.readFileSync(testFilePath);
const fileName = 'test.jpg';
(async () => {
console.log('🧪 Test uploadFile (permanent)');
const result1 = await uploadFile(fileBuffer, fileName);
console.log(result1);
console.log('\n🧪 Test uploadSmart with 1d');
const result2 = await uploadSmart(fileBuffer, fileName, '1d');
console.log(result2);
console.log('\n🧪 Test uploadTemp with 30s');
const result3 = await uploadTemp(fileBuffer, fileName, '30s');
console.log(result3);
console.log('\n🧪 Test uploadPermanent');
const result4 = await uploadPermanent(fileBuffer, fileName);
console.log(result4);
console.log('\n🧪 Test upload30s');
const result5 = await upload30s(fileBuffer, fileName);
console.log(result5);
console.log('\n🧪 Test upload15m');
const result6 = await upload15m(fileBuffer, fileName);
console.log(result6);
console.log('\n🧪 Test upload6h');
const result7 = await upload6h(fileBuffer, fileName);
console.log(result7);
console.log('\n🧪 Test upload7d');
const result8 = await upload7d(fileBuffer, fileName);
console.log(result8);
console.log('\n🧪 Test upload3M');
const result9 = await upload3M(fileBuffer, fileName);
console.log(result9);
console.log('\n🧪 Test upload1y');
const result10 = await upload1y(fileBuffer, fileName);
console.log(result10);
console.log('\n🧪 Test uploadBatch');
const batchResult = await uploadBatch([
{ buffer: fileBuffer, name: 'batch1.jpg', expire: '1d' },
{ buffer: fileBuffer, name: 'batch2.jpg', expire: '3M' }
]);
console.log(batchResult);
})();