UNPKG

aetherz-uploader

Version:

A simple any file hosting uploader for node.js

24 lines (21 loc) 789 B
import axios from "axios"; import FormData from "form-data"; import { FileSize, MimeType } from "./../utils/helper.js"; export async function QuaxUploader(buffer) { if(!Buffer.isBuffer(buffer)) throw Error('Invalid buffer input!'); if((await FileSize(buffer)) >= 262291456) throw Error('Max size upload for QuaxCDN is only 256MB!'); const mime = await MimeType(buffer); const form = new FormData(); form.append("files[]", Buffer.from(buffer), { filename: "zxn-" + Date.now() + "." + mime.ext, contentType: mime.mime }); const raw = await axios.post("https://qu.ax/upload.php", form, { headers: { ...form.getHeaders(), 'origin': 'https://pomf.lain.la', 'user-agent': 'Postify/1.0.0' } }); return raw?.data?.files[0]?.url || null; }