最近專案中有個頭像上傳的業務,前端用form表單提交,後台是struts2接收並儲存檔案,以下是**
html**
驗證表單
提交要用到的js函式
function setvalue()
function init()
$(document).ready(function());
function processjson(data)
});
在伺服器端不能通過request得到輸入流然後讀取檔案,之前我這做乙個位元組也讀不到,後來才知道struts框架已經幫我們讀取了,並生成了臨時檔案,這裡直接通過處理請求的action類裡面屬性去得到檔案就行啦
/**
* this class it to handle some request of files,such as picture
* * @author ljh
* */
public class fileaction extends commonaction
public void setfilename(string filename)
public string getuserid()
public void setuserid(string userid)
public file getfile()
public void setfile(file file)
/***this method is called to post picture of one user
*/public void uploadpicture() else
}else
}else
} catch (exception e) catch (jsonexception e1)
}returnresult(request, response, json.tostring());
}}
下面是fileservice類
/**
* the fileservice offer some file operation methods
* @author ljh
* */
public class fileservice
int index=filename.lastindexof(".");
filename="photo"+filename.substring(index);
string filewithpath = relativpath+rootpath+userid+"\\photo\\"+filename;
system.out.println("filepath:"+filewithpath);
file file = new file(filewithpath);
fileinputstream fileinputstream = new fileinputstream(tmpfile);
fileoutputstream fileoutputstream = new fileoutputstream(file);
byte buffer = new byte[1024];
int length = 0;
while (-1 != (length = fileinputstream.read(buffer, 0, buffer.length)))
fileoutputstream.close();
fileinputstream.close();
return "data/userinfo/"+userid+"/photo/"+filename;
} catch (exception e)
}/**
* this method
* @param userid
* @param filepath
* @return
*/public boolean storefilepathtodbservice(string userid, string filepath)
public void deletefileservice(string userid,string filepath)
/*** test code
* @param args
*/public static void main(string args)
}
struts2中的上傳檔案
這個上傳類可以實現多個上傳,如果不適用陣列就是單個上傳了 public class fileuploadaction extendsactionsupport public void setmessage string message public file getfileup public voi...
Struts2的檔案上傳
看到有人在問struts2的檔案上傳,想起自己買的李剛的 struts2權威指南 書中已有很詳細的介紹,只是自己一下子記不起來了,真的很遺憾,說明自己學得還不夠紮實,所以自己整理了一下發上來。下面是上傳的 檔案上傳頁面 檔案上傳頁面中,包含兩個表單域,檔案標題和檔案瀏覽域 當然,為了能完成檔案上傳,...
Struts 2的檔案上傳
struts 2 並未提供自己的請求解析器,也就是說,struts 2 不會自己去處理 multipart form data 的請求,它需要呼叫其他上傳框架來解析二進位制請求資料。但 struts 2 在原有的上傳解析器基礎上做了進一步封裝,更進一步簡化了檔案上傳。在 struts 2 的stru...