java文件上傳獲取後綴名
Ⅰ bootstrap FileInput圖片上傳如何在java中獲取圖片的名字,大小,以及如何存儲在制定文件夾中
後台獲取到文件了么File.getName就是文件名了
這個方法就是保存文件用的了 調用saveFile(file.getInputStrean,file.getName);
privatevoidsaveFile(InputStreaminputStream,StringfileName){
OutputStreamos=null;try{
Stringpath="D:\testFile\";//2、保存到臨時文件//1K的數據緩沖
byte[]bs=newbyte[1024];//讀取到的數據長度
intlen;//輸出的文件流保存到本地文件
FiletempFile=newFile(path);if(!tempFile.exists()){
tempFile.mkdirs();
}
os=newFileOutputStream(tempFile.getPath()+File.separator+fileName);//開始讀取
while((len=inputStream.read(bs))!=-1){
os.write(bs,0,len);
}
}catch(IOExceptione){
e.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
}finally{//完畢,關閉所有鏈接
try{
os.close();
inputStream.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
Ⅱ java 傳輸 獲取文件類型
獲取文件類型,一般的是列出目前所有的文件類型,根據表頭進行相應判斷,示例如下:
/**
*件頭是位於文件開頭的一段承擔一定任務的數據,一般都在開頭的部分。
*頭文件作為一種包含功能函數、數據介面聲明的載體文件,用於保存程序的聲明(declaration),而定義文件用於保存程序的實現(implementation)。
*為了解決在用戶上傳文件的時候在伺服器端判斷文件類型的問題,故用獲取文件頭的方式,直接讀取文件的前幾個位元組,來判斷上傳文件是否符合格式。具體代碼如下:
*Java代碼:
*
*/
packagecom.yonyou.sud.file;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.util.HashMap;
/**
*獲取和判斷文件頭信息
*
*@authorSud
*
*/
publicclassGetTypeByHead{
//緩存文件頭信息-文件頭信息
publicstaticfinalHashMap<String,String>mFileTypes=newHashMap<String,String>();
static{
//images
mFileTypes.put("FFD8FF","jpg");
mFileTypes.put("89504E47","png");
mFileTypes.put("47494638","gif");
mFileTypes.put("49492A00","tif");
mFileTypes.put("424D","bmp");
//
mFileTypes.put("41433130","dwg");//CAD
mFileTypes.put("38425053","psd");
mFileTypes.put("7B5C727466","rtf");//日記本
mFileTypes.put("3C3F786D6C","xml");
mFileTypes.put("68746D6C3E","html");
mFileTypes.put("44656C69766572792D646174653A","eml");//郵件
mFileTypes.put("D0CF11E0","doc");
mFileTypes.put("5374616E64617264204A","mdb");
mFileTypes.put("252150532D41646F6265","ps");
mFileTypes.put("255044462D312E","pdf");
mFileTypes.put("504B0304","docx");
mFileTypes.put("7221","rar");
mFileTypes.put("57415645","wav");
mFileTypes.put("41564920","avi");
mFileTypes.put("2E524D46","rm");
mFileTypes.put("000001BA","mpg");
mFileTypes.put("000001B3","mpg");
mFileTypes.put("6D6F6F76","mov");
mFileTypes.put("3026B2758E66CF11","asf");
mFileTypes.put("4D546864","mid");
mFileTypes.put("1F8B08","gz");
}
/**
*根據文件路徑獲取文件頭信息
*
*@paramfilePath
*文件路徑
*@return文件頭信息
*/
publicstaticStringgetFileType(StringfilePath){
System.out.println(getFileHeader(filePath));
System.out.println(mFileTypes.get(getFileHeader(filePath)));
returnmFileTypes.get(getFileHeader(filePath));
}
/**
*根據文件路徑獲取文件頭信息
*
*@paramfilePath
*文件路徑
*@return文件頭信息
*/
(StringfilePath){
FileInputStreamis=null;
Stringvalue=null;
try{
is=newFileInputStream(filePath);
byte[]b=newbyte[4];
/*intread()從此輸入流中讀取一個數據位元組。
*intread(byte[]b)從此輸入流中將最多b.length個位元組的數據讀入一個byte數組中。
*intread(byte[]b,intoff,intlen)從此輸入流中將最多len個位元組的數據讀入一個byte數組中。
*/
is.read(b,0,b.length);
value=bytesToHexString(b);
}catch(Exceptione){
}finally{
if(null!=is){
try{
is.close();
}catch(IOExceptione){
}
}
}
returnvalue;
}
/**
*將要讀取文件頭信息的文件的byte數組轉換成string類型表示
*
*@paramsrc
*要讀取文件頭信息的文件的byte數組
*@return文件頭信息
*/
(byte[]src){
StringBuilderbuilder=newStringBuilder();
if(src==null||src.length<=0){
returnnull;
}
Stringhv;
for(inti=0;i<src.length;i++){
//以十六進制(基數16)無符號整數形式返回一個整數參數的字元串表示形式,並轉換為大寫
hv=Integer.toHexString(src[i]&0xFF).toUpperCase();
if(hv.length()<2){
builder.append(0);
}
builder.append(hv);
}
System.out.println(builder.toString());
returnbuilder.toString();
}
publicstaticvoidmain(String[]args)throwsException{
finalStringfileType=getFileType("E:/Java編程思想讀書筆記.docx");
System.out.println(fileType);
}
}
Ⅲ java怎麼獲取上傳文件的後綴
給你個示例,應該看得懂吧
File f =new File("Test.txt");
String fileName=f.getName();
String prefix=fileName.substring(fileName.lastIndexOf(".")+1);
System.out.println(prefix);
}
Ⅳ java中已知request如何獲得上傳文件的文件名
file.getOriginalFilename
Ⅳ Java中,獲得同名file的文件名稱和內容並上傳附件,請問老師怎麼實現的
這個你可以這樣實現,你在頁面寫一個<input
type="hidden"
name="files"
id="files">,然後在你選擇文件的時候,每選擇一個,就把這個文件的名字加到這個files中,用,號隔開,這樣就會有一個files=filename1,filenam2,filename3,filename4
這樣你在後台獲取files,然後用,號分割,就可以獲取每個附件了
多個附件上傳就是這樣做的
Ⅵ java文件上傳如何獲取上傳文件的字元集編碼
你可以在上傳的時候,轉成bytes,這樣獲得的是無編碼的,下載的時候,他就可以制定編碼進行顯示!
Ⅶ java 如何通過 FileInputStream 獲取文件名、文件屬性的求助
不可以。FileInputStream的父類是InputStream。也就是說,它其實是一個「流」而不是文件。
Ⅷ JAVA如何獲取上傳後的文件名
這里的upload就是你web伺服器根目錄下的一個目錄,是放置上傳文件的目錄,而文件名是這個方法生成的its.getIPTimeStampRand(),據判斷應該是根據客戶端IP加上時間戳生成的唯一值,最後文件的後綴名是item.getName().split("\\.")[1],你可以去upload目錄就能看到。
Ⅸ java 上傳ftp 傳輸過程中文件名為tmp後綴 如何實現
replace("tmp", "") <----字元替換
Ⅹ java spring 怎麼獲取上傳的文件名
action裡面定義一個屬性,屬性的名字是固定的,具體叫什麼我忘了,一個是fileName,一個是File類型的file,還有個好像是fileContentType,你網路下就知道了