Loading snippets...
Script Node.js sederhana untuk upload file ke Catbox API menggunakan axios dan form-data, lalu mengembalikan link hasil upload secara otomatis.
import fs from "node:fs";
import path from "node:path";
import axios from "axios";
import FormData from "form-data";
const CONFIG = {
endpoint: "https://catbox.moe/user/api.php",
file: "./image.png",
userhash: ""
};
async function uploadToCatbox(filePath) {
const body = new FormData();
body.append("reqtype", "fileupload");
if (CONFIG.userhash?.trim()) {
body.append("userhash", CONFIG.userhash);
}
body.append(
"fileToUpload",
fs.createReadStream(filePath),
path.basename(filePath)
);
try {
const response = await axios({
method: "POST",
url: CONFIG.endpoint,
data: body,
timeout: 120000,
maxBodyLength: Infinity,
headers: {
...body.getHeaders(),
"User-Agent": "NodeJS Upload Client"
}
});
const uploaded =
typeof response.data === "string" &&
response.data.includes("https://");
return {
success: uploaded,
status: response.status,
file: filePath,
url: uploaded ? response.data.trim() : null,
raw: uploaded ? undefined : response.data
};
} catch (error) {
return {
success: false,
status: error.response?.status || 500,
file: filePath,
error: error.message
};
}
}
(async () => {
const result = await uploadToCatbox(CONFIG.file);
if (result.success) {
console.log("Upload berhasil");
console.log(result.url);
} else {
console.log("Upload gagal");
console.log(result);
}
})();