アップロードファイルへのcURLコマンドは、ファイルをアップロードしていません

土星:

Iので、Java APIを持っていると私は私のAPIにGET / POSTリクエストを送信するためのcURLコマンドを使用します。私は私のJava APIでSpringbootを使用しています。このような私のcURLコマンドルックス:

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

そして、この要求を受けて、私のJava Springbootメソッドは次のようになります。

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

これは出力します "file: file"

それは似ていないfile.txtすべてのサーバーにアップロードされます!何が私が間違っているのでしょうか?私はGoogleで調べてきましたが、私はほとんどすべてのものをやっているように見えます。

マルコ・R:

MultipartFile.getNameマルチパート形式でパラメータの名前を返します。

バイトを取得するにはMultipartFile、使用をfile.getBytes()

そして、あなたがもしMultipartFileあなたがそのテキストファイルの行のリストを取得するには、このユーティリティメソッドを使用することができ、テキストファイルです。

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

GitHubの上の完全なコード

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=207001&siteId=1
おすすめ