如果我從一個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