Não é possível fazer upload do arquivo usando FormData para expressar o servidor do aplicativo Rea

Sparsha Saha

Não consigo carregar o arquivo usando FormData usando axios do aplicativo React para Express Server que usa multer.

Dados de texto anexados em formData aparecem no servidor, mas qualquer arquivo parece não estar visível no servidor.

No entanto, explorar as chaves formData no lado do cliente mostra o arquivo.

Aqui está meu código de servidor para imprimir o conteúdo de body: postFile.ts

import * as path from 'path';

let multer = require("multer");
let storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, path.resolve(__dirname));
    },
    filename: function (req, file, cb) {
        cb(null, file.originalname);
    }
});

let upload = multer({ storage: storage });
export const postFile = (app: IApp) => {
    app.post('/uploadFile', upload.any(), (request: IRequest, response: IResponse) => {
        console.log('Got body:', JSON.stringify(request.body));
        response.sendStatus(200);
    });
}

Este é o código do lado do cliente React: filePicker.tsx

import axios from "axios";
import * as React from "react";
interface IFilePickerProps {
  fileToUpload: File;
  setFileToUpload: React.Dispatch<File | undefined>;
}

export const FilePicker = (props: IFilePickerProps) => {
  const { setFileToUpload, fileToUpload } = props;

  // Ref to input element to reset value on file upload completion
  const inputRef = React.useRef<HTMLInputElement>();

  const { onFileUpload, onFileChange } = useUploadFileCallbacks(
    setFileToUpload,
    fileToUpload,
    inputRef
  );

  return (
    <>
      <label>
        <input type="file" onChange={onFileChange} ref={inputRef} />
      </label>
      <button onClick={onFileUpload}>Upload File</button>
    </>
  );
};

const useUploadFileCallbacks = (
  setFileToUpload: React.Dispatch<File | undefined>,
  fileToUpload: File,
  inputRef: React.RefObject<HTMLInputElement>
) => {
  const onFileChange = React.useCallback(
    (event: React.ChangeEvent<HTMLInputElement>) => {
      setFileToUpload(event.target.files[0]);
    },
    [setFileToUpload]
  );

  const onFileUpload = React.useCallback(() => {
    handleFileUpload(fileToUpload, inputRef);
  }, [fileToUpload]);

  return { onFileChange, onFileUpload };
};

const handleFileUpload = async (
  fileToUpload: File,
  inputRef: React.RefObject<HTMLInputElement>
) => {
  let formData = new FormData();
  formData.append("usernamesss", "Sparsha Saha");
  formData.append("file", fileToUpload);
  axios
    .post("http://localhost:3001/uploadFile", formData, {
      headers: {
        "content-type": "multipart/form-data",
      },
    })
    .then(() => {
      console.log("Complete");
    });
  inputRef.current.value = "";
};

O console.log em postFile.ts mostra apenas 'usernamesss: Sparsha Saha'

Procurei soluções, mas nada parece funcionar para mim. Alguém pode me ajudar?

Sparsha Saha

Parece que o console.log não mostra o arquivo, mas ele definitivamente é carregado na pasta designada. Eu me pergunto a qual parte da solicitação os dados do arquivo são realmente anexados e se podemos visualizá-los de alguma forma.

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Não é possível fazer upload do arquivo do PHP para o servidor Centos?

Não é possível fazer upload do arquivo para o servidor em PHP

Não é possível fazer upload do arquivo para o servidor

Não é possível fazer upload do arquivo para o aplicativo phalcon

Não é possível fazer upload do arquivo para SuiteScript

Não é possível fazer upload do arquivo para a pasta usando PHP

Não é possível fazer upload do arquivo para FirebaseStorage usando Flutter

Não é possível fazer upload para o repositório genérico com o nome do arquivo correto usando curl

Não é possível fazer upload do arquivo para meu servidor Ubuntu por meio de script php

Não é possível fazer upload do arquivo como um caminho para o meu formulário usando reactjs

Não é possível fazer upload do arquivo para S3 com Python usando credenciais de função IAM

Como fazer upload do arquivo PDF para o servidor no aplicativo Android

Não é possível fazer upload do aplicativo usando o url pré-assinado S3

Symfony VichUploader: Não é possível ver o botão do arquivo para fazer upload

Não é possível fazer upload do aplicativo Android para o dispositivo (jars dexados obsoletos)

Não foi possível fazer upload do aplicativo para o dispositivo

fazer upload da imagem do aplicativo ipad para o servidor node js usando multiparty

Nativescript - não é possível fazer upload do arquivo ipa para o itunes

Não é possível fazer upload do arquivo para o OneDrive com Java SDK

Chrome 83: Não é possível fazer upload do arquivo

Não é possível fazer upload do arquivo. Laravel

Fusuki: Não é possível fazer upload do arquivo coruja

Não é possível fazer upload do arquivo com Selenium

Não é possível fazer upload do arquivo da GUI

Wordpress - Não é possível fazer upload do arquivo

Não é possível fazer upload do arquivo via curl

Não é possível fazer upload do arquivo PHP

Não é possível fazer upload do arquivo no Django

O servidor remoto retornou um erro: (550) ao fazer upload do arquivo para FTP usando FtpWebRequest

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    UITextView não está exibindo texto longo

  3. 3

    Dependência circular de diálogo personalizado

  4. 4

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  5. 5

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  6. 6

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  7. 7

    Setas rotuladas horizontais apontando para uma linha vertical

  8. 8

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  9. 9

    Definir um clipe em uma trama nascida no mar

  10. 10

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  11. 11

    Como dinamizar um Dataframe do pandas em Python?

  12. 12

    regex para destacar novos caracteres de linha no início e no fim

  13. 13

    Why isn't my C# .Net Core Rest API route finding my method?

  14. 14

    Como obter a entrada de trás de diálogo em treeview pyqt5 python 3

  15. 15

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  16. 16

    How to create dynamic navigation menu select from database using Codeigniter?

  17. 17

    Como recuperar parâmetros de entrada usando C #?

  18. 18

    Changing long, lat values of Polygon coordinates in python

  19. 19

    Livros sobre criptografia do muito básico ao muito avançado

  20. 20

    Método \ "POST \" não permitido no framework Django rest com ações extras & ModelViewset

  21. 21

    Pesquisa classificada, conte números abaixo do valor desejado

quentelabel

Arquivo