1. 程式人生 > >form表單檔案上傳方法

form表單檔案上傳方法

普通的表單資料

servlet中的程式碼

在上傳檔案時需要在表單屬性中加enctype,改成二進位制的方法上傳資料 

此時就不能使用getparameter的方法
可以使用apache的一個上傳檔案的jar
@WebServlet("/upload")
public class UploadServlet  extends HttpServlet{

   @Override
protected void service(HttpServletRequest request, HttpServletResponse response) 
         throws ServletException, 
IOException { //解析和檢查請求 ,保證是postmultipart boolean isMultipate = ServletFileUpload.isMultipartContent(request); if (!isMultipate){ return; } // fileitem是對form表單的封裝,每個資料是一個fileitem FileItemFactory fileItemFactory=new DiskFileItemFactory(); /** * 建立檔案上傳處理器 */ ServletFileUpload upload=new
ServletFileUpload(fileItemFactory); //解析請求 try { List<FileItem> items=upload.parseRequest(request); System.out.println(items.size()); for (FileItem item:items){ String fileName=item.getFieldName();//獲取nameif(item.isFormField()){ //普通表單控制元件 String value=item.getString("UTF-8"
);//獲取當前表單控制元件的引數值 System.out.println(fileName+"-"+value); }else { //上傳控制元件 // item.getName();//拿到上傳檔案的名稱 item.write(new File("d:/",item.getName()));//把二進位制資料寫進哪一個檔案中 } } } catch (Exception e) { e.printStackTrace(); } } }