日韩精品成人无码专区免费-国产99久久久久久免费看-国产精品丝袜久久久久久不卡-国产精品无码一区二区三区

java實現(xiàn)文件的上傳和下載功能

發(fā)布時間:2024-12-19 點擊:133
準(zhǔn)備工作
(視頻教程推薦:java課程)
需要導(dǎo)入的jar包
運行截圖
文件上傳截圖
文件下載截圖
上傳文件代碼servlet
@webservlet(name = "uploadservlet",value = "/upload") @multipartconfig(maxfilesize = 1024*1024*5,maxrequestsize = 1024*1024*20) //1 添加multipartconfig注解 public class uploadservlet extends httpservlet { protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { //存放文件的目錄 string realpath = request.getservletcontext().getrealpath("/web-inf/upload"); file dir=new file(realpath); if(!dir.exists()){ dir.mkdirs(); } list<string> allowexts=new arraylist<string>(); allowexts.add("jpg"); allowexts.add("png"); allowexts.add("gif"); //1亂碼 request.setcharacterencoding("utf-8"); response.setcontenttype("text/html;charset=utf-8"); //2使用getparts()獲取數(shù)據(jù) collection<part> parts = request.getparts(); //3遍歷 printwriter out = response.getwriter(); if(parts!=null&&parts.size()>0){ for (part part : parts) { //判斷表單元素是普通字段,還是文件 string submittedfilename = part.getsubmittedfilename(); if(submittedfilename==null){//普通字段 string name = part.getname(); string value = request.getparameter(name); system.out.println(name "..." value); }else{//文件 //判斷文件是否為"" if(submittedfilename.equals("")){ continue; } //system.out.println(submittedfilename); //從請求頭中獲取文件 string dis = part.getheader("content-disposition"); string filename=dis.substring(dis.lastindexof("filename=") 10, dis.length()-1); filename=filename.substring(filename.lastindexof("\\\\\\\\") 1); system.out.println(filename); //獲取文件名的后綴 string ext=filename.substring(filename.lastindexof(".") 1); if(!allowexts.contains(ext)){ out.println(filename "不符合上傳文件類型要求..."); continue; } //把文件保存 //1創(chuàng)建新的文件名 string newfilename = uploadutils.makenewfilename(filename); //2創(chuàng)建新的路徑 string newpath = uploadutils.makenewpath(realpath, filename); part.write(newpath file.separator newfilename); //刪除part part.delete(); out.println("上傳成功:" filename); } } } } protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { dopost(request,response); } }每個屬性表示的內(nèi)容
文件下載代碼servlet
@webservlet(name = "downloadservlet",value = "/download")public class downloadservlet extends httpservlet { protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { //亂碼 request.setcharacterencoding("utf-8"); //獲取文件名 string uuidfilename = request.getparameter("filename");//d578be74fd864ac2a879d77b07f13793_backg.jpg //去掉uuid string filename=uuidfilename.substring(uuidfilename.indexof("_") 1); //存放文件的根路徑 string realpath = request.getservletcontext().getrealpath("/web-inf/upload"); //獲取真正目錄 string path = uploadutils.makenewpath(realpath, filename); file file=new file(path file.separator uuidfilename); if(file.exists()){

云主機的服務(wù)器租用
電腦站準(zhǔn)備使用貴司的虛擬主機手機站目前使用貴司的問題我解析電
圖片鏈接找不到-虛擬主機/數(shù)據(jù)庫問題
阿里云服務(wù)器可以租嗎
19阿里云爆款云服務(wù)器領(lǐng)券
域名一般可以使用多久?一般域名注冊多久比較好?
備案網(wǎng)站所需材料-備案平臺
買騰訊云中國香港服務(wù)器嗎