通过Node将base64图像从react-webcam上传到cloudinary

德沃罗

我是新来的反应者,感谢您的帮助。当通过Node将jpg上载到cloudinary时,我有以下代码有效。

onChange中调用以下方法;

uploadProfilePic = e => {
  const files = Array.from(this.state.profilePic)
  const formData = new FormData()

  files.forEach((file, i) => {
    formData.append(i, file)
  })
    fetch(`http://localhost:3030/imageUpload`, {
      method: 'POST',
      body: formData
    })
    .then(res => res.json())
    .then(images => {
      this.setState({profilePic: images[0].url})
    })
  }

并在我的server.js文件中;

  const values = Object.values(req.files)
    const promises = values.map(image => cloudinary.uploader.upload(image.path))

    Promise
      .all(promises)
      .then(results => res.json(results))
  })

以上成功将jpg上传到cloudinary,并按预期将网址设置为我的状态。

只是想知道如何调整上面的2个代码块,以便能够上传通过react-webcam捕获base64图像*,该图像存储在我的状态下{this.state.passImage}以实现相同的结果(又可以上传到cloudinary并检索URL)?

到目前为止,我已经尝试过

uploadPassImage= e => {

const formData = JSON.stringify(this.state.passImage)

    fetch(`http://localhost:3030/imageUploadPassImage`, {
      method: 'POST',
      body: formData
    })
    .then(res => res.json())
    .then(images => {
      this.setState({passImage: images[0].url})
    })
  }

与服务器代码;

  app.post('/imageUploadPassImage', (req, res) => {
    const values = Object.values(req.files)
      const promises = values.map(image => cloudinary.uploader.upload(image.path))

      Promise
        .all(promises)
        .then(results => res.json(results))
    })

没有运气。

德沃罗

我想到了。对于任何想知道或遇到相同问题的人,我都会在这里发布。

在反应

uploadPassImage= e => {
const files = Array.of(this.state.passImage)


    const formData = new FormData()

    files.forEach((file, i) => {
      formData.append(i, file)
    })
      fetch(`http://localhost:3030/imageUploadPassImage`, {
        method: 'POST',
        body: formData
      })
      .then(res => res.json())
      .then(images => {
        this.setState({passImage: images[0].url}) 
//sets the data in the state for uploading into SQL database later
      })
    }

在服务器上;

app.post('/imageUploadPassImage', (req, res) => {
   const values = Object.values(req.body)
      const promises = values.map(image => cloudinary.v2.uploader.upload(image,
  function(error, result) {console.log(result, error); }));

      Promise
        .all(promises)
        .then(results => res.json(results))
    })

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过Node.js将base64编码的图像上传到Amazon S3

处理空图像字段上传到Cloudinary

使用Jquery将图片上传到cloudinary?

通过AWS Ruby SDK将Base64图像数据上传到S3

使用 Java API 将图像上传到 Cloudinary

使用axios将图像直接上传到cloudinary

尝试将图像上传到 Cloudinary 时收到 TypeError

Swift 2,将base64图像上传到PHP

无法从Firebase云功能将图像上传到Cloudinary

使用Ruby on Rails将.zip文件上传到Cloudinary

从电子内部的angularJS SPA将电影上传到cloudinary

将图像上传到 Cloudinary Express.js React Axios post 请求

在angularjs中上传Cloudinary Base64图像

Swift-将base64编码的图像上传到php并显示图像

无法使用客户端签名调用将图像上传到 Cloudinary - 签名无效

如何将图像缓冲区转换为照片以上传到Cloudinary?

使用Java将Base64编码的图像上传到Amazon s3

如何将这个基于base64转换图像的gridview上传到firebase?

将Base64编码的图像上传到PHP服务器

将图像编码为base64并上传到Phonegap中的Web服务

由于Base64错误,无法将图像上传到数据库

将 Base64 编码图像上传到 php 服务器

如何使用Node JS API将JavaScript File对象上传到Cloudinary?

通过表单上传上传base64图像

从Android / Java将Base64上传到RoR Carrierwave

将本机base64映像上传到Firebase存储

指定“文件夹”选项不会将图像上传到Cloudinary中的文件夹

Cordova / Ionic应用程序通过服务器签名的URL将base64图像上传到S3

无法将音频文件上传到Cloudinary API(使用javascript)