почему req.body не определено при отправке многокомпонентных данных формы, используя ax ios от реакции. js до express? - PullRequest
0 голосов
/ 12 января 2020

когда я отправляю какие-либо данные из req.body, определяется, но при попытке отправить многокомпонентные данные (форму), содержащие изображение из моего браузера, req.body не определено, хотя я отправляю тот же запрос от почтальона, а req.body защищает мой интерфейс код


    this.setState({
      editLoading: true
    });

    try{
      const form = new FormData()
      form.append('title', postData.title)
      form.append('content', postData.content)
      form.append('imageUrl', postData.image)
      const res = await axios({
        url: 'http://localhost:8080/feed/post',
        method: 'POST',
        data: form
      })

      if (res.status !== 200 && res.status !== 201) {
        throw new Error('Creating or editing a post failed!');
      }

      const post = {
        _id: res.data.post._id,
        title: res.data.post.title,
        content: res.data.post.content,
        creator: res.data.post.creator,
        createdAt: res.data.post.createdAt
      };
      this.setState(prevState => {
        let updatedPosts = [...prevState.posts];
        if (prevState.editPost) {
          const postIndex = prevState.posts.findIndex(
            p => p._id === prevState.editPost._id
          );
          updatedPosts[postIndex] = post;
        } else if (prevState.posts.length < 2) {
          updatedPosts = prevState.posts.concat(post);
        }
        return {
          posts: updatedPosts,
          isEditing: false,
          editPost: null,
          editLoading: false
        };
      });
    } catch (err) {
      console.log(err);
      this.setState({
        isEditing: false,
        editPost: null,
        editLoading: false,
        error: err
      });
    }

express config


const app = express()


app.use(express.json())
app.use(cors())
app.use(express.static(path.join(__dirname, 'images')))

это скриншот мой запрос

PS интерфейс использует websocket

...