4

Я использую перенос файла cordova для загрузки файла из aws s3 с использованием подписанного URL-адреса, поскольку cordova filetransfer кодирует uri, «%» в сигнатуре преобразуется в «% 25», таким образом, приводит к несоответствию подписиAWS S3 подписанный URL-код, полученный в результате «SignatureDoesNotMatch»

ответ

6

Попробуйте настроить свои параметры следующим образом:

options = { 
      fileKey: 'file', 
      fileName: name, 
      chunkedMode: false, 
      mimeType: 'audio/3gpp', 
      httpMethod: 'PUT', 
      // Important! 
      headers: { 
       'Content-Type': 'audio/3gpp' // < Set explicitly otherwise it becomes multipart/form-data which won't work with S3 
      }, 
      encodeURI: false // < Stops any extra encoding by file transfer logic 
     } 

У меня ушло много болезненных часов получать предварительно подписали PUT, работающих с Кордову/S3. Удачи.

+0

Эта проблема возникает с плагином ng-cordova. В этом есть проблема: https://github.com/driftyco/ng-cordova/issues/835 – pyb

 Смежные вопросы

  • Нет связанных вопросов^_^