使用后端(express / nodejs / mongoDB)和前端(react / fetch / ajax)上传文件

时间:2019-05-26 12:08:46

标签: javascript node.js reactjs express fetch

我想制作可以上传文件或图像的Web应用程序。 例如,如果要使用图片创建用户个人资料,则需要在Mongodb中存储用户信息,例如user_.id,用户名,电子邮件和图片(来自本地计算机)。我知道如何存储用户名,电子邮件,但我不知道如何通过访存“ post”方法从本地计算机存储(保存)图像(或文件)。我研究发现,推荐了许多...

fetch('https://path/to/api', {
    method: 'POST',
    body: formData,
  })

并说不要设置“内容类型”,但是我想做的是, 一键提交所有用户信息。为此,我只需要使用一个表单标签和一个提交按钮。

<form onSubmit={this.handleSubmit}>
  username:<input onChange={this.fileSelectHandler} />
  email: <input onChange={this.fileSelectHandler}/>
  picture: <input />
  <button onChange={this.fileSelectHandler}>submit</button>
</form>

如果那样的话,我将需要使用以下方式,

fetch(`${process.env.REACT_APP_API}/api/v1/profile`, {
          method: 'POST',
          credentials: 'include',
          body: JSON.stringify(updatedProfile),
          headers: {
            'Content-Type' : 'application/json'
          }

然后我可以遵循建议,因为建议是说“不要设置内容类型”,并且主体也应该是“文件”或其他名称,而不是JSON.stringify(updatedProfile)。

有人对此有很好的榜样吗?请帮帮我! 谢谢。

0 个答案:

没有答案