comando curl de carga de archivos no carga el archivo

de Saturno:

Así que tengo una API de Java y utilizo comandos curl para enviar peticiones GET / POST a mi API. Estoy usando Springboot en mi API de Java. Mis comando curl es similar al siguiente:

curl -X POST \
  https://localhost:8443/abc/code/v \
  -H 'Content-Type: multipart/form-data' \
  -F file=@/path/to/file.txt

y mi método Java Springboot que recibe esta solicitud es el siguiente:

@RequestMapping(method = RequestMethod.POST, value = "/{code}/{v}")
    public ResponseEntity<Object> uploadTemplate( //
            @ApiParam(value = "code desc") //
            @PathVariable final String code, //
            @ApiParam(value = "v desc") //
            @PathVariable final String v, //
            @RequestParam("file") MultipartFile file
    ) throws IOException {
        //log.info("received [url: /tabc/" + code + "/" + v + ", method: POST");
        System.out.println("file: "+ file.getName());
}

que imprime "file: file"

No se ve como file.txtestá cargado en el servidor en absoluto! ¿Qué estoy haciendo mal? He buscado en Google pero parece que estoy haciendo casi todo.

Marco R. :

El MultipartFile.getNamedevuelve el nombre del parámetro en la forma de varias partes.

Para obtener los bytes de la MultipartFileutilizaciónfile.getBytes()

Y si su MultipartFilees un archivo de texto podría utilizar este método de utilidad para recuperar una lista de las líneas en ese archivo de texto:

    public List<String> read(MultipartFile file) throws IOException {
        InputStreamReader in = new InputStreamReader(file.getInputStream());
        try (BufferedReader reader = new BufferedReader(in)) {
            return reader.lines().collect(Collectors.toList());
        }
    }

código completo en GitHub

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=207004&siteId=1
Recomendado
Clasificación