2011-09-14 19 views
9

Apache commons dosyasında, karşıya yüklenen dosyaların karşıya yüklenmesi FileItem nesneleri olarak kullanılabilir.
fileitem.getName() kullanarak bu dosya öğesinin adını alırsam tam yolunu döndürür (örn .: C:\Test\test.txt).

Sadece dosya adını almanın bir yolu var mı? Aslında gerekenler
yüklenen dosyanın yerine rastgele bir isim (temp.tmp gibi)Sadece dosya adı ayıkla FileItem adından itibaren

cevap

22

aynı olmalıdır
File.createTempFile() ama adını ve geçici dosya uzantısını kullanarak geçici dosya olarak yüklenen dosyayı kurtarmaktır the docs say

Neden FileItem.getName() tam yolunu çıkmıyor ve sadece dosya ismi ne deneyin?

Internet Explorer, yüklenen dosyanın yolunu ve yalnızca temel dosya adını değil yolunu sağlar. FileUpload, istemciden (tarayıcı) tarafından sağlandığından, uygulamanızda bu yolun bilgilerini kaldırmak isteyebilirsiniz. Aşağıdakileri FileUpload tarafından kullanıldığı için, zaten var olan Commons IO'dan aşağıdaki yöntemini kullanarak yapabilirsiniz.

String fileName = item.getName(); 
if (fileName != null) { 
    fileName = FilenameUtils.getName(fileName); 
} 
+0

Ben it.Thanks çok – Dinushan

+0

@JoseK fark etmedi bu isimle dosya adı yerine varsayalım nedir? –