#Hola comunidad buen día espero que se

1 messages · Page 1 of 1 (latest)

supple flint
#

Estoy creando un input que le permita al usuario seleccionar un archivo y enviarlo al servidor, el código es el siguiente:

Input

<DialogContent className={classes.modalDialog}>
        <GridContainer xs={12}>
          <label className={classes.file}>
            <input
              type="file"
              id="file"
              aria-label="File browser example"
              onChange={(e) => selectFile(e)}
            />
            <span className={classes.fileCustom}>
              <div className={classes.beforeElement}>Browse</div>
              <div className={classes.afterElement}>{nameFile}</div>
            </span>
          </label>
        </GridContainer>
      </DialogContent>

función

const selectFile = (e) => {
    console.log('evento', e.target.files[0]);
    setNameFile(e.target.files[0].name);

    const formFile = new FormData();
    formFile.append('name', 'Carlos');
    formFile.append('archivo', 'Archivo de prueba');
    formFile.append('file', e.target.files[0]);
    console.log('formFile', [...formFile]);

    console.log('nameFile', nameFile);
    dispatch(sendFile(formFile));
  };

Envio de la información

export const uploaduuid = async (data) => {
  console.log('data', data);
  try {
    const res = await axios.post(`${urlfiles}uploadfiles`, data, {
      headers: {
        'Content-Type': 'multipart/form-data',
      },
    });
    console.log('res post acount', res);
    return Promise.resolve(res.data);
  } catch (error) {
    console.log('error post account', error.response.data);
    return Promise.reject(error.response.data);
  }
};
#

La duda que tengo es si estaría bien construido el envío de la información al servidor, ya que cuando hago el envío en el inspector del navegador me muestra los siguiente.

#

el file que es donde esta la información me lo coloca como (binario), no se si este correcto como lo estoy enviando, el back me regresa un 200, pero me comentan que aun están trabajando esa sección