如果我从一个MultipartRequest接受一个文件并调用是否将MultipartRequest中的Java File对象作为临时文件写入磁盘或存储在内存中?
File f = request.getFile("fileName");
被写入到磁盘上的文件(如临时文件),或者仅在这一点上存储在内存中?
如果我从一个MultipartRequest接受一个文件并调用是否将MultipartRequest中的Java File对象作为临时文件写入磁盘或存储在内存中?
File f = request.getFile("fileName");
被写入到磁盘上的文件(如临时文件),或者仅在这一点上存储在内存中?
假设您正在讨论o'Reilly MultipartRequest,它会根据链接始终写入磁盘。
更新 如果你在谈论的Spring commons FileUpload组件,它支持此设置。您可以设置的属性之一是setMaxInMemorySize(int bytes)
,它决定了将保存在内存中而不写入磁盘的文件的最大大小。
感谢您阅读您为o'Reilly提供的链接上的文档,明确指出getFile(String s)“返回保存在服务器文件系统中的指定文件的File对象,如果文件未包含在上传中。“ – 2010-04-20 20:03:37
你是对的,尽管提供了链接我误解了构造函数文档!更新。 – Brabster 2010-04-20 20:09:51
这是依赖于实现的。你不需要知道,而不希望短路像“移动”这样的操作。但即使是返回的对象也可能是一个依赖于实现的接口,它支持从存储器到磁盘的移动语义。
你在说什么'MultipartRequest'?弹簧? – OscarRyz 2010-04-20 19:34:23
com.oreilly.servlet.MultipartRequest – 2010-04-20 19:58:59