Spring rest上传文件已损坏

时间:2018-01-12 11:54:18

标签: java spring rest

我有一个使用spring rest上传jar文件的java应用程序。
但是上传的文件已损坏,我无法从服务器访问jar文件。
请帮助。< / p>

fileloc = fileloc.replace("$", "/");
String filename = uploadedFileRef.getOriginalFilename();
String path = fileloc + filename;
byte[] buffer = new byte[1000];
File outputFile = new File(path);
FileInputStream reader = null;
FileOutputStream writer = null;
int totalBytes = 0;
try {
  outputFile.createNewFile();
  reader = (FileInputStream) uploadedFileRef.getInputStream();
  writer = new FileOutputStream(outputFile);
  int bytesRead = 0;
  while ((bytesRead = reader.read(buffer)) != -1) {
    writer.write(buffer);
    totalBytes += bytesRead;
  }
} catch (IOException e) {
  e.printStackTrace();
} finally {
  try {
    reader.close();
    writer.close();
  } catch (IOException e) {
    e.printStackTrace();
  }
}

1 个答案:

答案 0 :(得分:0)

你打电话

writer.write(buffer);

所以你总是写缓冲区大小。想象一下,最后一次读取仅读取10个字节,但无论如何你将写入1000个字节。

使用

write(buffer, 0, bytesRead );

或者只需查看the question

即可