如何将图像URL转换为uri或文件并在react-native中发布?

时间:2018-06-04 07:52:42

标签: react-native react-native-android

例如,图片网址为“https://www.w3schools.com/w3css/img_lights.jpg

我希望将它上传/发布到文件格式为'multipart / form-data'的服务器。

我应该如何从URL中提取文件URI?

2 个答案:

答案 0 :(得分:0)

做了一些快速搜索,试试这个解决方案

var file;
var xhr = new XMLHttpRequest();
xhr.open('GET', 'your image url', true);
xhr.onload = function(e) {
if (this.status == 200) {
    file = new File([this.response],'fileName');
}
};
xhr.send();

答案 1 :(得分:0)

这是我的简单代码FormData with react-native to post request with string and image。

我使用react-native-image-picker来捕捉/选择照片react-native-image-picker

let photo = { uri: source.uri}
let formdata = new FormData();

formdata.append("product[name]", 'test')
formdata.append("product[images_attributes[0][file]]", {uri: photo.uri, name: 'image.jpg', type: 'multipart/form-data'})


fetch('http://192.168.1.101:3000/products',{
  method: 'post',
  headers: {
    'Content-Type': 'multipart/form-data',
  },
  body: formdata
  }).then(response => {
    console.log("image uploaded")
  }).catch(err => {
    console.log(err)
  })  
});