commande cURL vers le fichier de téléchargement ne télécharge pas le fichier

saturnienne:

J'ai donc une API Java et j'utilise des commandes cURL pour envoyer des requêtes GET / POST à ​​mon API. J'utilise Springboot dans mon API Java. Ma commande curl ressemble à ceci:

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

et ma méthode Java Springboot qui reçoit cette demande ressemble à ceci:

@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());
}

qui imprime "file: file"

Il ne ressemble pas file.txtest téléchargé sur le serveur du tout! Qu'est-ce que je fais mal? Je l' ai regardé sur Google , mais il semble que je fais presque tout.

Marco R .:

Le MultipartFile.getNameretourne le nom du paramètre sous la forme multipart.

Pour obtenir les octets de l' MultipartFileutilisationfile.getBytes()

Et si votre MultipartFileest un fichier texte que vous pouvez utiliser cette méthode utilitaire pour récupérer une liste des lignes dans ce fichier texte:

    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());
        }
    }

code complet sur GitHub

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=207002&siteId=1
conseillé
Classement