Node.js NodeJS/React:拍摄一张照片,然后将其发送到mongoDB进行存储并稍后显示

Node.js NodeJS/React:拍摄一张照片,然后将其发送到mongoDB进行存储并稍后显示,node.js,mongodb,reactjs,Node.js,Mongodb,Reactjs,我一直在一个类似推特的小网站上学习如何应对。进展相当顺利,我想允许用户拍照并将其附加到他们的帖子上。我发现了一个名为React Camera的库,它似乎做了我想让它做的事情——它打开相机并设法保存一些东西 我说了些什么,因为我很困惑,究竟该怎么做,用我保存的东西。这是用于图像捕获的客户端代码,我基本上是从文档中复制的: takePicture() { try { this.camera.capture() .then(blob => {

我一直在一个类似推特的小网站上学习如何应对。进展相当顺利,我想允许用户拍照并将其附加到他们的帖子上。我发现了一个名为React Camera的库,它似乎做了我想让它做的事情——它打开相机并设法保存一些东西

我说了些什么,因为我很困惑,究竟该怎么做,用我保存的东西。这是用于图像捕获的客户端代码,我基本上是从文档中复制的:

 takePicture() {
    try {
        this.camera.capture()
        .then(blob => {
          this.setState({
            show_camera: "none",
            image: URL.createObjectURL(blob)
          })
          console.log(this.state);
          this.img.src = URL.createObjectURL(blob);
          this.img.onload = () => { URL.revokeObjectURL(this.src); }

            var details = {
            'img': this.img.src,
            };

            var formBody = [];
            for (var property in details) {
              var encodedKey = encodeURIComponent(property);
              var encodedValue = encodeURIComponent(details[property]);
              formBody.push(encodedKey + "=" + encodedValue);
            }
            formBody = formBody.join("&");
                fetch('/newimage', {
                    method: 'post',
                    headers: {'Content-type': 'application/x-www-form-urlencoded;charset=UTF-8'},
                    body: formBody
                  });
                  console.log("Reqd post")
但我到底在这里存了什么?为了进行测试,我尝试向站点添加一个映像,并设置src={this.state.img},但这不起作用。我可以存储这个blob(例如,它看起来像blob:) 或者图像本身进入我的数据库,但问题再次是我不知道正确的方法是什么

基本上,我想做的是: 1.用照相机抓拍一张照片 2.将此邮件发送到/newimage 3.然后,图像将以某种形式存储在数据库中 4.稍后,客户端可能会请求将成为帖子一部分的图像(即推特可以有图像)。这将在网站上显示图像


任何帮助都将不胜感激,因为我觉得我只是越来越困惑更多的图书馆,我看

从您的问题中,我了解到您正在将图像存储在DB中

如果我的理解是正确的,那么您正在尝试一种错误的方法。 为此

  • 您需要使用节点应用程序将图像存储在项目目录中
  • 需要在数据库中存储图像的路径

  • 使用这些路径,您可以获取图像并显示在网页上


  • 要使用
    nodejs
    上传图像,您可以使用
    Multer
    软件包。

    Hi!将实际照片发送到后端的最佳方式是什么?因为目前它是作为一个Blob提供给我的-我需要以某种方式转换它吗?不,你可以直接存储为jpeg/jpg/png格式。购买您的内容类型应为
    多部分/表单数据
    。检查此链接