Javascript 如何将文件从客户端发送到http节点服务器

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文件上载库。查看位于的文档。您可以

我正在尝试将一个文件从javascript文件(客户端)发送到节点服务器。服务器正在接收请求,但当I console.log(request.body)时,它返回undefined。我不知道为什么在我将文件发布到服务器时该文件没有附加到request.body。有人知道我做错了什么吗

client.js(在浏览器中运行的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;
}