在上傳文件時,其實在文件未上傳至文件服務器以前,會在本機留下一個臨時文件:服務器
經過此臨時文件,能夠獲取真正的文件後綴(爲了防止強行改後綴致使的問題)內存
DiskFileItem fi = (DiskFileItem)file.getFileItem(); File result = fi.getStoreLocation(); Tika tika = new Tika(); try { String contentType = tika.detect(result); } catch (IOException e) { e.printStackTrace(); }get
而有的時候卻不會生成臨時文件,這是由於什麼緣由呢?io
通過查找,找到了這個屬性:maxInMemorySizefile
在這裏設置了文件放入臨時文件夾的最小大小限制,那麼這個屬性到底還有什麼做用呢?查詢
查詢得知:此爲閾值,低於此值,則保存在內存中,如高於此值,則生成硬盤上的臨時文件文件