React native TypeError:应为动态类型';字符串';但有'型;对象';自然反应
我必须用react native将图像上传到cloudinary。我使用了以下代码:React native TypeError:应为动态类型';字符串';但有'型;对象';自然反应,react-native,React Native,我必须用react native将图像上传到cloudinary。我使用了以下代码: uploadImage(source) { let timestamp = (Date.now() / 1000 | 0).toString(); let api_key = '***********' let api_secret = '**************' let cloud = '*****' let hash_string = 'timestamp=' + timestamp + api_se
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:应为动态类型“string”,但类型为“object”
如果您从“react native image picker”获得“源”,
尝试改变
formdata.append('file', {uri: source, type: 'image/png', name: 'upload.png'});
进入
在android中。
我用这种方式解决了我的问题。尝试
formdata.append('file',JSON.stringify({uri:source,type:'image/png',name:'upload.png')代码>是的,现在它可以工作了,但它没有上传到云中。。!您得到的响应代码是什么?“错误:{“消息”:“不支持的源URL:{\\\“uri\\”:{\\“uri\\”:\\”file:///storage/emulated/0/Pictures/image-0eb186ab-5d04-4037-affd-dfb49b92c7ec.jpg\\“},\\“type\\”:\\“image/png\\”,\\“name\\”:\\“upload.png谢谢!你救了我一天!
formdata.append('file', {uri: source.uri, type: 'image/png', name: 'upload.png'});