EXPO反应本机中的上传文件问题

时间:2020-08-26 20:19:37

标签: node.js react-native sails.js expo sails-skipper

嗨,我尝试通过expo上传文件: console.log给我这个错误“通过req.file()的流文件上传只能通过Skipper通过HTTP进行”,但是当我与邮递员一起尝试时,它是可行的。我在后端使用sailsJs 这是我的博览会反应代码

const[imageUri, setImageUri]=useState()
    const[imageUpload, setImageUpload]=useState()
    const selectImage = async()=>{
        try {
            const result = await ImagePicker.launchImageLibraryAsync();
            if(!result.cancelled)
            setImageUri(result.uri)
            setImageUpload(result)
        } catch (error) {
            console.log('Error running on image')
        }
       
    }
const handleSubmit = async () => {
        const dataDemande = {
            projectTitle: titre,
            material: materiel,
            description: description,
            projectType: checked,
            lieuRendezvous: value_3,
            idClient: props.route.params.id,
            model: imageUpload
        };
        console.log(dataDemande);
        var res = await demandeClient(dataDemande);
        console.log(res);
        props.navigation.navigate("Tableau de bord - Client");
    };

这是后端的代码

findCouturierAndCreateDemande: async function (req, res) {
    var recherche = req.body
    req.file('model').upload({
      adapter: require('skipper-gridfs'),
      uri: 'mongodb://localhost:27017/image'
    }, async function (err, filesUploaded) {
      if (err) return res.serverError(err);
      console.log(filesUploaded[0].fd)
      var couturier = await Client.find({
        where: {
          isCouturier: true,
          ville: { contains: recherche.ville },
          adresse: { contains: recherche.adresse },
          rue: { contains: recherche.rue },
        },
      })
      var img = await Image.create(_.omit(filesUploaded[0], ['status', 'field', 'extra'])).fetch()
      var newDemande = await Demande.create({
        titre: recherche.projectTitle,
        materiel: recherche.material,
        description: recherche.description,
        service: recherche.projectType,
        positionActivity: recherche.lieuRendezvous,
        client: recherche.idClient,
        modelImage: img.id
      }).fetch()
      console.log(img)
      return res.ok({couturier, newDemande})
    });
  }

0 个答案:

没有答案