2012-02-05 120 views
0

最初我開始將數據存儲在數據庫中以實現安全性和簡單的備份目的。使用apache通用文件上傳獲取jsp上傳文件的擴展名

所以我從來沒有面對的問題來獲得文件的擴展名。

現在我面臨問題,因爲數據庫負載。

所以我計劃,我將圖像存儲在一個文件夾中,我會顯示這些圖像。

但我需要重命名這些文件並將擴展存儲在數據庫中,以便我可以直接訪問。

但是因爲我是字符串數據庫中的圖像,我從來不關心文件的擴展名。

由於我必須訪問圖像文件,我必須知道擴展名。

如何在Apache通用文件上傳中獲取文件的擴展名。

+1

如果您可以提供從數據庫中的圖像,而無需知道文件擴展名,你爲什麼不能夠從文件系統做同樣的事情?瀏覽器不知道(也不關心)字節流的來源。它關心它的mime類型,但是你必須有辦法瞭解它。如果你知道它,你應該能夠決定使用哪個文件擴展名。 – 2012-02-05 16:29:10

+0

是的..!你是對的..! :( – KuKu 2012-02-05 17:13:55

+1

恐怕你沒有真正理解@JBNizet ... – BalusC 2012-02-06 04:27:52

回答

3

這是我在代碼中做到的。 item是一個FileItem或一個FileItemStream對象。

String format = "none"; 
String fileName = item.getName(); 
int index = fileName.lastIndexOf("."); 
if(index > 0){ 
       format = fileName.substring(index+1); 
       format = format.toLowerCase(); 
} 
+1

如果一個文件的擴展名像'archiveFile.tar.gz'那麼該怎麼辦? – Lion 2012-11-19 14:19:03

+0

頂部指定圖像文件的問題在你的情況下,你可以嘗試使用int index = fileName.indexOf(「。」); – rickz 2012-11-19 15:04:26

相關問題