关于java:我已经将图像存储到来自html的inputstream,所以我想将输入流存储到我的驱动器中的文件夹中

I have stored image to inputstream from html,so i want to store the inputstream to folder in my drive

本问题已经有最佳答案,请猛点这里访问。
1
2
3
Part filePart = request.getPart("barcodePhtotoVen");

inputStream = filePart.getInputStream();

如何使用outputstream将其写入计算机驱动器中的文件夹/文件?


I have stored image to inputstream

不,你没有。你没有将图像存储在任何地方,更不用说存储到输入流,这在术语上是矛盾的。您需要从输入流中读取并写入磁盘文件。


不要使用输入流,也不要使用输出流。部件有一个写入(字符串)方法,该方法将部件直接写入文件。


希望下面的代码片段能帮助您

更新:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 OutputStream out = null;
 InputStream filecontent = null;

 try {
    out = new FileOutputStream(new File("destination_file_path"));
    filecontent = filePart.getInputStream();

    int read = 0;
    final byte[] bytes = new byte[1024];

    while ((read = filecontent.read(bytes)) != -1) {
        out.write(bytes, 0, read);
    }
} catch (FileNotFoundException f) {

} finally {
  if (out != null) {
        out.close();
    }
}

我在我的系统上测试的早期代码,工作得很好。请尝试我的更新代码。我刚刚测试了我的系统,它也工作得很好。

资源:希望这些知识共享能帮助您。

谢谢。


我认为这个问题被问了很多,这个答案为将输入流写入文件提供了几个选项:

将Java输入流的内容写入输出流的简单方法