當前位置:首頁 » 文件管理 » servlet獲取上傳文件

servlet獲取上傳文件

發布時間: 2022-07-20 15:01:57

㈠ servlet上傳文件怎樣獲取到文件的路徑

String PATH = ServletActionContext.getServletContext().getRealPath("/upload");

㈡ 怎樣在Servlet中獲得jsp上傳文件的名稱

可以使用commons-fileupload組件實現文件上傳,步驟如下:

1、添加jar包:commons-fileupload-x.x.x.jar和commons-io-2.4.jar
2、編寫或修改form表單
1) 提交方式必須是post
2) 為表單增加屬性enctype="multipart/form-data"
3) 為文件上傳單獨提供servlet,因為增加enctype屬性後,無法使用常規的請求對象來獲取提交的數據
3、使用Commons-FileUpload組件實現文件的上傳
1) 確定本次請求是否是文件上傳請求
boolean flag=ServletFileUpload.isMultipartContent(request);
2) 創建文件上傳的工廠對象
FileItemFactory factory=new DiskFileItemFactory();
3) 創建ServletFileUpload對象,並將工廠對象作為參數傳入
ServletFileUpload upload=new ServletFileUpload(factory);
4) 使用上傳對象從請求對象中解析出提交的所有表單元素
List<FileItem> lstForms=upload.parseRequest(request);
5) 遍歷表單元素集合,實現取出表單元素和上傳文件
//遍歷所有表單元素
for (FileItem fileItem : lstForms) {
//判斷每一個表單元素是否是普通表單
if(fileItem.isFormField()){
System.out.println(fileItem.getString("UTF-8"));
}else{
//上傳前准備工作
//a、上傳後的路徑this.getServletContext().getRealPath("/")會出去當前項目在 部署的伺服器上的絕對路徑

String path=this.getServletContext().getRealPath("/")+"files/";
//b、找出要上傳的文件的名字
String fileName=fileItem.getName();
fileName=fileName.substring(fileName.lastIndexOf("\\")+1);
//c、上傳
fileItem.write(new File(path+fileName));
out.println("<h2>"+fileName+"上傳成功!</h2>");
}
}
附件為文件上傳的完整代碼,包括驗證上傳的必須是圖片!

java servlet如何獲取提交的文件。

importjava.io.File;
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;

importjavax.servlet.ServletInputStream;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;

importorg.apache.commons.fileupload.FileItem;
importorg.apache.commons.fileupload.disk.DiskFileItemFactory;
importorg.apache.commons.fileupload.servlet.ServletFileUpload;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
importcom.dnion.contentpush.struts.BaseDispatchAction;

/**
*提供web頁面的提交的「文本」推送更新
*@authorwxl
*
*/
{

publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
DiskFileItemFactoryfactory=newDiskFileItemFactory();
ServletFileUploadfileUpload=newServletFileUpload(factory);
//設置上傳文件大小的上限,-1表示無上限
fileUpload.setSizeMax(-1);
Listitems=newArrayList();
//上傳文件,解析表單中包含的文件欄位和普通欄位
items=fileUpload.parseRequest(request);
//遍歷欄位進行處理
Iteratoriterator=items.iterator();
while(iterator.hasNext()){
FileItemfileItem=(FileItem)iterator.next();
if(fileItem.isFormField()){//普通欄位

}else{//文件欄位
if("textfile".equals(fileItem.getFieldName())){

//上傳;

}
}
}
returnsuper.execute(mapping,form,request,response);
}
}

頁面中form加上屬性ENCTYPE="multipart/form-data"

<inputname="textfile"type="file"value=「」/>

㈣ jsp上傳文件,servlet如何獲取文件對象

你要做文件上傳吧 form表單里一定要設置這兩個值enctype="multipart/form-data" method="post"
上傳成功後會在tomcat里有那個文件 ,至於你說的要獲取io流。那就需要找到那個文件給你寫一下偽碼吧:
//獲得上傳文件的路徑

String path = getServletContext().getRealPath(webpath);

File file = new File(path);
file.getParentFile().mkdirs();
file.createNewFile();

// 獲得流
InputStream in = item.getInputStream();
OutputStream out = new FileOutputStream(file);
不懂的再問我!
建議你用個上傳組件,fileupload什麼的

㈤ 在servlet中怎樣上傳文件

//新建一個Smartupload對象
SmartUpload
su=new
SmartUpload();
//上傳初始化
su.initialize(pageContext);
//設定上傳限度
//1.限定每個上傳文件的最大長度
//su.setMaxFileSize(100000);
//2.限制總上傳數據的長度。
//su.setTotalMaxFileSize(20000);
//3.設定允許上傳的文件(通過擴展名限制),僅允許doc,txt文件。
//su.setAllowFilesList("doc,text");
//4.設定禁止上傳的文件(通過擴展名限制),禁止上傳帶有exe,bat,jsp,htm,html擴展名的文件或沒有擴展名的文件
//su.setDeniedDilesList("exe,bat,jsp,html,htm,,");
//上傳文件
su.upload();
//將上傳文件全部保存到指定目錄
int
count=su.save("/upload");
out.println(count+"個上傳文件成功!<br>");
//利用Request對象獲取參數之值
out.println("test="+su.getRequest().getParameter("test")+"<br><br>");
//逐一提取上傳文件信息,同時可保存文件。
for(int
i=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.File
file=su.getFiles().getFile(i);
//若文件不存在則繼續
if(file.isMissing())
continue;
//顯示當前文件信息
out.println("<table
border=1>");
out.println("<tr><td>表單項名(FiledName)</td><td>"+file.getFieldName()+"</tr></tr>");
out.println("<tr><td>文件長度(Size)</td><td>"+file.getSize()+"</td><td>");
out.println("<tr><td>文件名(FileName)</td><td>"+file.getFileName()+"</tr></tr>");
out.println("<tr><td>文件擴展名(FiledExt)</td><td>"+file.getFileExt()+"</tr></tr>");
out.println("<tr><td>文件全名(FiledPathName)</td><td>"+file.getFilePathName()+"</tr></tr>");
out.println("</table><br>");
//將文件另存
//file.saveAs("/upload/"+myFile.getFileName());
//另存到以web應用程序的根目錄為文件根目錄的目錄下
//file.saveAs("/upload/"+myFile.getFileName(),su.SAVE_VIRTUAL);
//另存到操作系統的根目錄為文件根目錄的目錄下
//file.safeAs("c://temp//"+myFile.getFileName(),su.SAVE_PHYSICAL);
}
上面就是了。。。。祝你好運哈!

㈥ 怎樣用servlet實現文件上傳

編寫上傳頁面,在WebContent目錄下創建一個NewFile.jsp文件,並編寫如下代碼。注意: 必須加上 enctype="multipart/form-data" .表示以二進制的數據格式來傳輸。

開發處理文件上傳的Servlet
1、使用註解@MultipartConfig將一個Servlet標識為支持文件上傳。
2、Servlet3.0將multipart/form-data的POST請求封裝成Part,通過Part對上傳的文件進行操作。

將控制台列印的文件上傳地址復制到地址欄。查看上傳的文件,頁面提示上傳成功!

在編寫servlet時,應該注意 必須註解 @MultipartConfig 將一個Servlet標識為支持文件上傳,否則會導致上傳失敗。還有就是JSP頁面上 form表單中 ,必須加上 enctype="multipart/form-data" .表示以二進制的數據格式來傳輸。

文件上傳servlet類的代碼編寫。dopost()方法中的主要代碼:(讀者可參考注釋自行進行編寫,然後按照以上步驟進行測試)。
request.setCharacterEncoding("utf-8"); //獲取文件部件part Part part=request.getPart("filename"); //獲取伺服器的路徑 即上傳路徑 String root=request.getServletContext().getRealPath("/file"); //獲取上傳文件的頭部信息 String headname=part.getHeader("content-disposition"); //獲取文件後綴名 String ext = headname.substring(headname.lastIndexOf("."), headname.length()-1); // 上傳目的地完整的路徑 String filename=root+"/"+UUID.randomUUID().toString()+ext; System.out.println(filename); //導入文件 part.write(filename); request.setAttribute("info", "上傳成功!"); request.getRequestDispatcher("/NewFile.jsp").forward(request, response); }

㈦ servlet如何得到上傳文件的類型

你可以先sysytem.out.print()出來 看是什麼格式的
然後你再用equals()
最好使用equalsIgnoreCase()方法

㈧ servlet怎麼接受上傳的文件

最簡單的是利用wndows的網路磁碟映射,在servlet的伺服器上映射文件伺服器的某個磁碟;另一種方法就是在文件伺服器上布署一個web應用服務來接收上傳的文件。

㈨ java servlet 怎麼獲取表單里上傳的文件的路徑

文件的上傳路徑是你控制的...
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(new File("../webapps/fileupload/upload/" + fileName)));

㈩ jsp+servlet 怎麼實現文件上傳

你要做文件上傳吧 form表單里一定要設置這兩個值enctype="multipart/form-data" method="post"
上傳成功後會在tomcat里有那個文件 ,至於你說的要獲取io流。那就需要找到那個文件給你寫一下偽碼吧:
//獲得上傳文件的路徑

String path = getServletContext().getRealPath(webpath);

File file = new File(path);
file.getParentFile().mkdirs();
file.createNewFile();

// 獲得流
InputStream in = item.getInputStream();
OutputStream out = new FileOutputStream(file);
不懂的再問我!
建議你用個上傳組件,fileupload什麼的

熱點內容
伺服器關閉了電腦網路還能用 發布:2025-01-25 08:22:28 瀏覽:587
熱血航線的登錄密碼在哪裡可以看 發布:2025-01-25 08:22:27 瀏覽:769
5系怎麼選擇配置 發布:2025-01-25 08:22:18 瀏覽:842
pythonscipy 發布:2025-01-25 08:18:52 瀏覽:418
恕瑞瑪伺服器地址 發布:2025-01-25 08:18:51 瀏覽:801
oa源碼php 發布:2025-01-25 08:11:31 瀏覽:734
gpc腳本 發布:2025-01-25 08:10:47 瀏覽:317
雲伺服器和伺服器的區別 發布:2025-01-25 08:10:39 瀏覽:547
python寫文件追加 發布:2025-01-25 08:09:54 瀏覽:778
ftp跳到瀏覽器 發布:2025-01-25 08:09:54 瀏覽:528