Javascript 如何将文件从客户端发送到http节点服务器
我正在尝试将一个文件从javascript文件(客户端)发送到节点服务器。服务器正在接收请求,但当I console.log(request.body)时,它返回undefined。我不知道为什么在我将文件发布到服务器时该文件没有附加到request.body。有人知道我做错了什么吗 client.js(在浏览器中运行的javascript)Javascript 如何将文件从客户端发送到http节点服务器,javascript,node.js,reactjs,http,post,Javascript,Node.js,Reactjs,Http,Post,我正在尝试将一个文件从javascript文件(客户端)发送到节点服务器。服务器正在接收请求,但当I console.log(request.body)时,它返回undefined。我不知道为什么在我将文件发布到服务器时该文件没有附加到request.body。有人知道我做错了什么吗 client.js(在浏览器中运行的javascript) 您可以使用Filepond JavaScript文件上载库。在查看文档,您可以使用Filepond JavaScript文件上载库。查看位于的文档。您可以
您可以使用Filepond JavaScript文件上载库。在查看文档,您可以使用Filepond JavaScript文件上载库。查看位于的文档。您可以使用以下代码将数据从客户端发送到服务器。我使用了fetch,因为它内置在javascript中,所以不需要任何第三方模块来进行ajax调用
onDrop = (acceptedFiles) => {
fetch('http://localhost:8088', {
method: "POST",
body: this.getFormData({
file:acceptedFiles[0]
})
})
.then(response => response.json())
.then(response => {
// you will get response here
});
}
您可以使用以下代码将数据从客户端发送到服务器。我使用了fetch,因为它内置在javascript中,所以不需要任何第三方模块来进行ajax调用
onDrop = (acceptedFiles) => {
fetch('http://localhost:8088', {
method: "POST",
body: this.getFormData({
file:acceptedFiles[0]
})
})
.then(response => response.json())
.then(response => {
// you will get response here
});
}
@Alphastrick-
request
是它的包装器。您需要使用FormData
和multer
之类的东西将文件发送到节点。没有这样的东西。如果你发明了财产,很可能它们不存在我在控制台Access to XMLHttpRequest at'http://localhost:8088/“起源”http://localhost:3000'已被CORS策略阻止:请求的资源上不存在'Access Control Allow Origin'标头。
您必须从您的资源中允许CORSserver@Alphastrick — request
是它的包装器。您需要使用类似于FormData
和multer
的东西来将文件发送到节点。没有这样的东西。如果你发明了财产,很可能它们不存在我在控制台Access to XMLHttpRequest at'http://localhost:8088/“起源”http://localhost:3000'已被CORS策略阻止:请求的资源上不存在'Access Control Allow Origin'标头。
您必须允许服务器上的CORS
onDrop = (acceptedFiles) => {
fetch('http://localhost:8088', {
method: "POST",
body: this.getFormData({
file:acceptedFiles[0]
})
})
.then(response => response.json())
.then(response => {
// you will get response here
});
}
getFormData(object = {}) {
const formData = new FormData();
Object.entries(object).forEach(([key, value]) =>
formData.append(key, value)
);
return formData;
}