Dashme / lib /uploadImage.js
maylinejix's picture
Update lib/uploadImage.js
bf4e1b8 verified
const axios = require('axios');
const FormData = require('form-data');
module.exports = async buffer => {
try {
const { fromBuffer } = require('file-type');
let fileType = await fromBuffer(buffer);
if (!fileType) {
throw new Error('Cannot determine file type');
}
let { ext } = fileType;
const randomName = Math.random().toString(36).substring(2, 8);
let bodyForm = new FormData();
bodyForm.append("file", buffer, `${randomName}.${ext}`);
let res = await axios.post("https://cdnme.idnet.my.id/upload", bodyForm, {
headers: {
...bodyForm.getHeaders()
},
maxContentLength: Infinity,
maxBodyLength: Infinity
});
if (res.data.success && res.data.url) {
return res.data.url;
} else {
throw new Error('Upload failed: Invalid response');
}
} catch (error) {
console.error('Upload error:', error.message);
if (error.response) {
console.error('Response data:', error.response.data);
console.error('Response status:', error.response.status);
}
throw error;
}
}