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; } }