一、文件上傳的簡介
1.1 什麼是文件上傳:把本地的文件存儲到服務器上,這個過程稱爲文件上傳,好比網盤服務器
1.2 如何實現文件上傳mvc
1.3 使用到第三方組件實現,首先導入jar包jsp
(1)jspSmartUpload
= 適於嵌入執行上傳下載操做的JSP文件中,模型一post
(2)fileUpload(模型二,mvc)
FileUpload 是 Apache commons下面的一個子項目,組件FileUpload依賴於Commons IO組件
(3)servlet3.0版本實現了文件上傳.spa
1.4 文件上傳時候,知足三個要求
第一個要求:表單提交方式 post
第二個要求:表單裏面有 文件上傳輸入項,必須name屬性 <input type="file" name="filename"/>
第三個要求:設置表單提交數據的類型 enctype,通常狀況下不須要設置,只在上傳時候須要設置
enctype="multipart/form-data"
最終的目的:把本地的文件的內容複製到服務器上面文件裏面去code
二、代碼實現文件的上傳
orm
request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); System.out.println("*****:"+request.getParameter("username")); //[1]獲取文件上傳的路徑 String uploadPath = getServletContext().getRealPath("upload"); Part part = request.getPart("file"); //表明文件上傳項 String fileHeader = part.getHeader("Content-Disposition"); //切割字符串 獲取文件上傳的名字 String[] files = fileHeader.split(";"); String[] splits = files[2].split("="); String fileUploadName = splits[1].substring(1, splits[1].length()-1); /*if (fileUploadName.contains("\\")) { int start = fileUploadName.lastIndexOf("\\")+1; fileUploadName.substring(start); }*/ System.out.println("fileUploadName:~~"+fileUploadName); //把獲取到文件上傳的內容上傳到服務器 part.write(uploadPath+"/"+ fileUploadName);