struts2中的檔案上傳

2021-08-27 22:30:54 字數 2272 閱讀 2030

最近專案中有個頭像上傳的業務,前端用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...