Gau*_*wal 4 java file-upload apache-commons
我从 Apache Commons Page 引用 Commons FileUpload
本页面介绍了 commons 文件上传库的传统 API。传统的 API 是一种方便的方法。但是,为了获得最佳性能,您可能更喜欢更快的Streaming API。
我的问题
哪些具体差异Streaming API比 更快traditional API?
关键的区别在于您处理文件的方式,正如您自己在工厂类中注意到的那样。
获取输入流时,流 API 不会保存在磁盘中。最后,您将能够更快地处理文件(在临时内存上有成本)……但我们的想法是避免将二进制文件保存在磁盘中,除非您真的想要/需要这样做。
之后,您当然可以使用缓冲输入流、字节数组或类似方式将数据保存到磁盘。
编辑:打开流(fileItemStreamElement.openStream () )时的处理程序是一个常见的 InputStream 实例。所以,你的“如果它是一个大文件怎么办”的答案类似于Java 中 InputStream 的内存问题
编辑:流 API 不应保存到磁盘或保存在内存中。它只是提供了一个流,您可以从中读取以将文件复制到您想要的任何位置。这是一种避免使用临时目录并避免分配足够内存来保存文件的方法。这至少应该更快,因为它不会被复制两次,一次从浏览器复制到磁盘/内存,然后再从磁盘/内存复制到你保存它的地方。
| 归档时间: |
|
| 查看次数: |
3225 次 |
| 最近记录: |