JavaWeb(實現文件上傳)(二)
上文中提到了使用servelt服務器讀取到瀏覽器上保存到文件,並將它保存到本地的方法。
首先解決問題一:
G:\eclipse\eclipse\eclipse\worksapceeeeeeee\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\webtest\upload
項目的上傳的路徑是否可以更改?如何更改?
在server服務器中
①移除所有項目
②啟動server服務器
③右鍵tomcat服務器 選擇open 在server option選項卡中
更改部署路徑,
設置user tomcat服務器的目錄
然後設置
String tagDir=getServletContext().getRealPath("/WEB-INF/temp");
想要保存的路徑
好重新上傳後解決了 上傳路徑的問題。
這樣就解決了這個問題,將文件上傳到tmp裏面,並且可以自己指定路徑,但是這個創建出來的路徑類似於一個tomcat緩沖的交換區域。
待解決問題二:如何只將需要上傳的文件上傳到指定的路徑,而不出現tomcat的緩沖區。
首先新建一個文件(如果當前文件不存在才新建)
再將這個文件作為輸出流就可以解決了
File file =new File("D://123"); if(!file.exists()) { file.mkdirs(); }
OutputStream output=new FileOutputStream(new File(file,realFileName));
待解決問題三:假如用戶進行惡意上傳文件,比如上傳一個病毒文件上去,該如何防範,如何校驗這個
文件。
-----------------------------------------------------------未完待續----------------------------------------------------------------------------
JavaWeb(實現文件上傳)(二)