HomeToolscloudsky-storage
npm package
ESM + CJSPermanent StorageAnonymous

cloudsky-storage

Official uploader module untuk Cloudsky โ€” cloud storage gratis, anonym, dan permanen.

Upload segala jenis file (gambar, dokumen, audio, video, arsip) langsung dari Node.js ke server Cloudsky. Tidak perlu login, tidak perlu API key โ€” cukup install, import, dan upload. File yang sudah terupload akan tersimpan selamanya di cloud dan bisa diakses kapan saja via URL publik.

Anonymous
Tanpa login & API key
Permanen
File tidak akan hilang
Semua File
Gambar, video, dokumen...
URL Instan
Langsung dapat URL publik

Instalasi

Terminal
$ npm install cloudsky-storage

Cara Penggunaan

Import:
Upload via:
ESM ยท Upload via File Path
import { uploadFile } from 'cloudsky-storage';

async function run() {
    try {
        // Upload menggunakan file path
        const result = await uploadFile('./foto-kucing.jpg');

        if (result.success) {
            console.log("Upload sukses!");
            console.log("URL:", result.data.url);
            console.log("Nama file:", result.data.name);
            console.log("Ukuran:", result.data.size, "bytes");
        }
    } catch (error) {
        console.error("Gagal upload:", error.message);
    }
}

run();

API Reference

Function
uploadFile(source: string | Buffer, filename?: string) โ†’ Promise<UploadResponse>
Parameters
sourcestring | BufferRequired

Path ke file (misal ./foto.jpg) atau Buffer dari file yang akan diupload.

filenamestringOptional*

Nama file beserta ekstensinya. Wajib diisi jika source berupa Buffer. Jika source adalah path, parameter ini opsional.

Returns
successbooleanโ€” Status keberhasilan upload
messagestringโ€” Pesan dari server
data.urlstringโ€” URL publik file yang siap diakses
data.namestringโ€” Nama unik file di server
data.keystringโ€” Key identifikasi file
data.sizenumberโ€” Ukuran file dalam bytes
data.mimetypestringโ€” MIME type file
Response JSON
{
  "success": true,
  "message": "Upload berhasil",
  "data": {
    "name": "4r2bjl89Da9MbhYh.jpg",
    "url": "https://www.cloudsky.biz.id/api/file/4r2bjl89Da9MbhYh.jpg",
    "key": "4r2bjl89Da9MbhYh.jpg",
    "size": 72047,
    "mimetype": "image/jpeg"
  }
}

Contoh Integrasi

Express.js + Multer Memory Storage
import express from 'express';
import multer from 'multer';
import { uploadFile } from 'cloudsky-storage';

const app = express();

// Gunakan memory storage agar file tersimpan sebagai Buffer
const upload = multer({ storage: multer.memoryStorage() });

app.post('/upload', upload.single('file'), async (req, res) => {
    try {
        const { buffer, originalname } = req.file;

        // Upload Buffer langsung ke Cloudsky
        const result = await uploadFile(buffer, originalname);

        res.json({
            success: true,
            url: result.data.url,
            name: result.data.name,
            size: result.data.size,
        });
    } catch (error) {
        res.status(500).json({ success: false, error: error.message });
    }
});

app.listen(3000, () => console.log('Server running on port 3000'));

Hal Penting

File Tersimpan Selamanya

Sekali file terupload, file tidak bisa dihapus atau diedit. Pastikan file yang diupload memang file yang ingin kamu simpan secara permanen.

Anonym โ€” Tanpa Login

Tidak ada autentikasi yang diperlukan. Siapapun yang memiliki URL file bisa mengaksesnya. Jangan upload file sensitif atau rahasia.

Semua Jenis File

Mendukung upload gambar, dokumen PDF, audio, video, arsip ZIP, dan hampir semua jenis file lainnya.

Akses via Browser

Selain lewat module ini, kamu juga bisa upload langsung dari browser di cloudsky.biz.id untuk kebutuhan personal.