2017-01-31 2 views
3

反応ネイティブの画像をcloudinaryにアップロードする必要があります。私はこのコードを使用していますTypeError:予想されるダイナミックタイプ 'string'が 'object'タイプでした。ネイティブに反応しました。

uploadImage(source) { 
let timestamp = (Date.now()/1000 | 0).toString(); 
let api_key = '***********' 
let api_secret = '**************' 
let cloud = '*****' 
let hash_string = 'timestamp=' + timestamp + api_secret 
let signature = CryptoJS.SHA1(hash_string).toString(); 
let upload_url = 'https://api.cloudinary.com/v1_1/' + cloud + '/image/upload' 

let xhr = new XMLHttpRequest(); 
xhr.open('POST', upload_url); 
xhr.onload =() => { 
    console.log(xhr); 
}; 
let formdata = new FormData(); 
formdata.append('file', {uri: source, type: 'image/png', name: 'upload.png'}); 
formdata.append('timestamp', timestamp); 
formdata.append('api_key', api_key); 
formdata.append('signature', signature); 
xhr.send(formdata);}; 

をしかし、私はこのエラーを取得する:あなたは、「反応するネイティブ・イメージ・ピッカー」を、 試してから「ソース」を得た場合

TypeError:expected dynamic type 'string' but had type 'object'

enter image description here

+0

試してみましたが、現在は動作していますが、そうではありません( 'url:source、type:' image/png '、名前:' upload.png ')))、 ' –

+1

クラウドにアップロード..! –

+0

あなたはどんな応答コードを取得していますか? –

答えて

2

formdata.append('file', {uri: source, type: 'image/png', name: 'upload.png'}); 

を変更するには

formdata.append('file', {uri: source.uri, type: 'image/png', name: 'upload.png'}); 

in android。 私はこのように自分の問題を解決しました。

+0

ありがとうございました!あなたは私の日を救った! – efratyo

関連する問題