Загрузка файлов с помощью бэкэнда (express / nodejs / mongoDB) и внешнего интерфейса (реагировать / получать / ajax) - PullRequest
0 голосов
/ 26 мая 2019

Я хочу сделать веб-приложение, которое может загружать файлы или изображения.Например, если я хочу создать профиль пользователя с изображением, мне нужно сохранить информацию пользователя, такую ​​как user_.id, имя пользователя, адрес электронной почты и изображение (с локального компьютера) в Mongodb.Я знаю, как хранить имя пользователя, электронную почту, но я не знаю, как сохранить (сохранить) изображение (или файл) с локального компьютера с помощью метода «post».Я исследовал и обнаружил, что многие из них были рекомендованы ...

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

И сказал, что не устанавливайте 'content-type'. Но я хотел сделать так, чтобы вся информация о пользователе была представлена ​​одним щелчком мыши.Для этого мне нужно использовать только один тег формы и одну кнопку отправки.

<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).

У кого-нибудь есть хороший пример для этого?Пожалуйста, помогите мне!Спасибо.

...