Subida Básica
async function uploadFile() {
try {
const form = new FormData();
form.append("file", fs.createReadStream("./gato.jpg"));
const res = await api.post("/upload", form, {
headers: {
...form.getHeaders(),
"x-upload-token": TOKEN,
},
});
console.log("✅ Subido:", res.data);
} catch (err) {
console.error("❌ Error:", err.response?.data || err.message);
}
}
uploadFile();
Subida Múltiple
async function uploadFiles() {
try {
const form = new FormData();
// 📁 Archivos locales
form.append('file', fs.createReadStream('./foto1.jpg'));
form.append('file', fs.createReadStream('./foto2.png'));
// 🌐 Archivo desde URL
form.append('url', 'https://i.imgur.com/ejemplo.jpg');
const res = await axios.post(`${API_URL}/upload`, form, {
headers: {
...form.getHeaders(),
'x-upload-token': TOKEN
}
});
console.log(`✅ ${res.data.count} archivos subidos`);
console.log(res.data);
} catch (err) {
console.error('❌ Error:', err.response?.data || err.message);
}
}
uploadFiles();
Subida desde URL
async function uploadUrl() {
try {
const form = new FormData();
form.append('url', 'https://i.imgur.com/ejemplo.jpg');
const res = await axios.post(`${API_URL}/upload`, form, {
headers: {
...form.getHeaders(),
'x-upload-token': TOKEN
}
});
console.log('✅ URL clonada correctamente');
console.log(res.data);
} catch (err) {
console.error('❌ Error:', err.response?.data || err.message);
}
}
uploadUrl();
Subida Premium (Privacidad)
// Query Params: hide_user=true | hide_filename=true | custom_name=...
const uploadUrl = `${API_URL}/upload?hide_user=true&custom_name=banner_oficial`;
async function uploadPremium() {
try {
const form = new FormData();
form.append('url', 'https://i.imgur.com/ejemplo.jpg');
const res = await axios.post(uploadUrl, form, {
headers: {
...form.getHeaders(),
'x-upload-token': TOKEN
}
});
console.log('✅ Subida Premium desde URL:', res.data.url);
} catch (err) {
console.error('❌ Error:', err.response?.data || err.message);
}
}
uploadPremium();