Advanced Rest Client を使用してデスクトップからテキスト ファイルを投稿したいです。これが私のコントローラーです:
@RequestMapping(value = "/vsp/debug/compareConfig/{deviceIp:.*}", method = RequestMethod.POST, consumes = { "multipart/form-data" }, produces = { "application/json" })
public ResponseEntity<SuccessResult> compareCLIs(HttpServletRequest request, @RequestParam("file") MultipartFile file, @PathVariable("deviceIp") String device)
{
log.info(file.getOriginalFilename());
byte[] bytearr = file.getBytes();
log.info("byte length: ", bytearr.length);
log.info("Size : ", file.getSize());
}
これは、バイト長やファイル サイズの値を返しません。ファイルの値を StringBuffer に読み取りたいのですが、これに関するヒントを教えていただけますか? このファイルを文字列に解析する前に保存する必要があるかどうかわかりません。必要な場合は、ワークスペースにファイルを保存するにはどうすればよいでしょうか?
ベストアンサー1
マルチパート ファイルの内容を文字列に読み込む場合、最も簡単な解決策は次のとおりです。
String content = new String(file.getBytes());
または、文字セットを指定する場合:
String content = new String(file.getBytes(), StandardCharsets.UTF_8);
ただし、ファイルが大きい場合、この解決策は最適ではない可能性があります。