react-native-background-upload
react-native-background-upload copied to clipboard
Error upload image Cloudinary
Hi! Thanks @Vydia create lib great! I have a problem, when upload image to Cloudinary.
{"error":{"message":"Upload preset must be specified when using unsigned upload"}}
I enabled upload presets and choose Mode 'Unsigned'. It not work for me. Why?
When use XMLHttpRequest upload, it working fire.
let formdata = new FormData()
formdata.append('file', { uri: uri, type: 'image/png', name: 'upload.png' })
formdata.append('upload_preset', upload_preset_name)
formdata.append('timestamp', timestamp)
formdata.append('api_key', api_key)
const options = {
url: upload_url,
path: uri,
method: 'POST',
field: formdata,
notification: {
enabled: true
},
type: 'multipart'
}
Upload.startUpload(options).then((uploadId) => {
console.log('Upload started')
Upload.addListener('progress', uploadId, (data) => {
console.log(data)
console.log(`Progress: ${data.progress}%`)
})
Upload.addListener('error', uploadId, (data) => {
console.log(`Error: ${data.error}%`)
})
Upload.addListener('cancelled', uploadId, (data) => {
console.log(`Cancelled!`)
})
Upload.addListener('completed', uploadId, (data) => {
// data includes responseCode: number and responseBody: Object
console.log(data)
console.log('Completed!')
})
}).catch((err) => {
console.log('Upload error!', err)
})
Thanks!
Not sure if you've solved this already but you need to have your upload preset in your request under the parameters
key:
const options = {
url: upload_url,
...etc,
parameters: {
upload_preset: 'your_preset_here'
}
}