react-native-background-upload icon indicating copy to clipboard operation
react-native-background-upload copied to clipboard

Error upload image Cloudinary

Open TuNguyenThanh opened this issue 6 years ago • 1 comments

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!

TuNguyenThanh avatar Jul 10 '18 04:07 TuNguyenThanh

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

steve1000 avatar Dec 06 '18 22:12 steve1000