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