cloudku-uploader

2.2.7 • Public • Published

☁️ Cloudku Uploader

Modern file uploader for CloudkuImages with TypeScript support

npm version downloads license node version

📖 Documentation🚀 Quick Start💡 Examples🔗 Links


Features

Modern Architecture - Full ESM & CommonJS support
🚀 Zero Dependencies - Lightweight and fast
📁 Multi-format Support - Images, documents, and more
🛡️ Type Safe - Built-in TypeScript definitions
Simple API - Just one function call
🌐 Reliable - Powered by CloudkuImages infrastructure

Quick Start

Installation

npm install cloudku-uploader

Basic Usage

import uploadFile from 'cloudku-uploader'
import { readFileSync } from 'fs'

const file = readFileSync('image.jpg')
const response = await uploadFile(file, 'image.jpg')

console.log(`Uploaded: ${response.result.url}`)

Documentation

API Reference

uploadFile(buffer, filename)

Uploads a file buffer to CloudkuImages server.

Parameters:

  • buffer (Buffer) - File content as Buffer
  • filename (String) - Original filename with extension

Returns: Promise<UploadResponse>

TypeScript Interface

interface UploadResponse {
  status: 'success' | 'error'
  creator: string
  information: string
  result: {
    filename: string    // Generated filename on server
    type: string        // MIME type detected
    size: string        // Human-readable file size
    url: string         // Direct download URL
  }
}

Examples

📸 Image Upload (ESM)
import uploadFile from 'cloudku-uploader'
import { readFileSync } from 'fs'

async function uploadImage() {
  try {
    const imageBuffer = readFileSync('./photo.jpg')
    const result = await uploadFile(imageBuffer, 'photo.jpg')
    
    if (result.status === 'success') {
      console.log('Image URL:', result.result.url)
      console.log('File Size:', result.result.size)
    }
  } catch (error) {
    console.error('Upload failed:', error.message)
  }
}

uploadImage()
📄 Document Upload (CommonJS)
const uploadFile = require('cloudku-uploader')
const fs = require('fs')

async function uploadDocument() {
  const docBuffer = fs.readFileSync('./document.pdf')
  const response = await uploadFile(docBuffer, 'document.pdf')
  
  console.log('Document uploaded:', response.result.url)
  return response.result.url
}

uploadDocument()
🔄 Multiple Files
import uploadFile from 'cloudku-uploader'
import { readFileSync, readdirSync } from 'fs'
import { join } from 'path'

async function uploadMultiple(folderPath) {
  const files = readdirSync(folderPath)
  const uploadPromises = files.map(async (filename) => {
    const buffer = readFileSync(join(folderPath, filename))
    return uploadFile(buffer, filename)
  })
  
  const results = await Promise.all(uploadPromises)
  return results.map(r => r.result.url)
}

const urls = await uploadMultiple('./uploads')
console.log('All files uploaded:', urls)
⚡ Express.js Integration
import express from 'express'
import multer from 'multer'
import uploadFile from 'cloudku-uploader'

const app = express()
const upload = multer()

app.post('/upload', upload.single('file'), async (req, res) => {
  try {
    const result = await uploadFile(req.file.buffer, req.file.originalname)
    res.json({ success: true, url: result.result.url })
  } catch (error) {
    res.status(500).json({ success: false, error: error.message })
  }
})

app.listen(3000)

Supported File Types

Category Extensions Max Size
Images jpg, png, gif, webp, svg 100MB
Documents pdf, doc, docx, txt, md 25MB
Archives zip, rar, 7z, tar 50MB
Media mp4, mp3, avi, mov 100MB
Code js, ts, py, php, html, css 5MB

Error Handling

try {
  const result = await uploadFile(buffer, 'file.jpg')
  
  if (result.status !== 'success') {
    throw new Error('Upload failed')
  }
  
  console.log('Success:', result.result.url)
} catch (error) {
  console.error('Error:', error.message)
}

Performance Tips

  • Use appropriate file sizes (compress large images)
  • Implement retry logic for network failures
  • Consider using streams for very large files
  • Validate file types before uploading

Links

Resource URL
🌐 Service cloudkuimages.guru
📦 Repository github.com/cloudkuimages
💬 Support WhatsApp Channel
📚 NPM Package npmjs.com/package/cloudku-uploader

License

This project is licensed under a Custom MIT License.

⚠️ Important: Redistribution and modification require explicit permission. See LICENSE for full terms.


Made with ❤️ by AlfiDev

Empowering developers with reliable file upload solutions

Package Sidebar

Install

npm i cloudku-uploader

Weekly Downloads

8,328

Version

2.2.7

License

MIT

Unpacked Size

12.2 kB

Total Files

7

Last publish

Collaborators

  • flowfalcon
  • alfidev
  • cloudkuimages