JspSmartUpload 實現上傳

來源:互聯網
上載者:User

標籤:ebs   load   context   nbsp   virt   絕對路徑   ipa   html   上傳檔案   

2、save 
  作用:將所有上傳檔案儲存到指定檔案夾下,並返回儲存的檔案個數。

 
  原型:public int save(String destPathName) 
  和public int save(String destPathName,int option) 
  當中,destPathName為檔案儲存檔案夾,option為儲存選項,它有三個值,各自是SAVE_PHYSICAL,SAVE_VIRTUAL和SAVE_AUTO。

(同File類的saveAs方法的選項之值類似)SAVE_PHYSICAL指示組件將檔案儲存到以作業系統根資料夾為檔案根資料夾的檔案夾下。SAVE_VIRTUAL指示組件將檔案儲存到以Web應用程式根資料夾為檔案根資料夾的檔案夾下,而SAVE_AUTO則表示由組件自己主動選擇。

 

  註:save(destPathName)作用等同於save(destPathName,SAVE_AUTO)。

 

<form method="post" action="uploadfile.jsp" enctype="multipart/form-data"><input type="file" name="file" size="50">  </form>


這裡enctype="multipart/form-data"是form的MIME編碼。這個參數才幹夠上傳或下載檔案。

<%mySmartUpload.initialize(pageContext); //運行初始化操作 mySmartUpload.upload(); //upload file dataint size = 1024 * 1024 * 1024;if (mySmartUpload.getFiles().getSize() > size) {out.println("the files have to be < 1024MB !");} else {try {mySmartUpload.save("/Upload");out.print("成功上傳檔案!

");} catch (Exception e) {out.print(e.toString());}}%>


這裡通過save()方法。將檔案上傳到根資料夾的Upload檔案夾中。


1、saveAs作用:將檔案換名另存。

 
  原型: 
  public void saveAs(java.lang.String destFilePathName) 
  或 
  public void saveAs(java.lang.String destFilePathName, int optionSaveAs) 
  當中,destFilePathName是另存的檔案名稱。optionSaveAs是另存的選項,該選項有三個值。各自是SAVEAS_PHYSICAL,SAVEAS_VIRTUAL,SAVEAS_AUTO。

SAVEAS_PHYSICAL表明以作業系統的根資料夾為檔案根資料夾另存檔案。SAVEAS_VIRTUAL表明以Web應用程式的根資料夾為檔案根資料夾另存檔案。SAVEAS_AUTO則表示讓組件決定。當Web應用程式的根資料夾存在另存檔案的檔案夾時,它會選擇SAVEAS_VIRTUAL,否則會選擇SAVEAS_PHYSICAL。 
  比如。saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)運行後若Webserver安裝在C盤。則另存的檔案名稱實際是c:\upload\sample.zip。而saveAs("/upload/sample.zip",SAVEAS_VIRTUAL)運行後若Web應用程式的根資料夾是webapps/jspsmartupload,則另存的檔案名稱實際是webapps/jspsmartupload/upload/sample.zip。

saveAs("/upload/sample.zip",SAVEAS_AUTO)運行時若Web應用程式根資料夾下存在upload檔案夾。則其效果同saveAs("/upload/sample.zip",SAVEAS_VIRTUAL)。否則同saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)。 
  建議:對於Web程式的開發來說,最好使用SAVEAS_VIRTUAL,以便移植。 

SAVEAS_PHYSICAL 是絕對路徑,SAVEAS_VIRTUAL是相對路徑(相當於前面加上Tomcat/Webapps/YourProject/)。


<%mySmartUpload.initialize(pageContext); //initiatemySmartUpload.upload(); //upload file dataint size = 1024 * 1024 * 1024;if (mySmartUpload.getFiles().getSize() > size) {//control the size of the fileout.println("the files have to be < 1024MB !");} else {try {for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {//iterating the filesFile file = mySmartUpload.getFiles().getFile(i);if (file.isMissing())continue;String virtualPath = "/Upload/";//Tomcat/webapps/YourProject/Uploadfile.saveAs(virtualPath + file.getFileName(),mySmartUpload.SAVE_VIRTUAL);}out.print("成功上傳檔案!

");} catch (Exception e) {out.print(e.toString());}}%>


上述代碼使用了SaveAs方法,當中SAVEAS_VIRTUAL,存放到Web項目中的,Upload目錄中。

以下的代碼使用了SAVEAS_PHYSICAL,和上面的代碼同樣功能,當中 pageContext.getServletContext().getRealPath("/")來獲得Webapps/Project的路徑。


<%mySmartUpload.initialize(pageContext); //initiatemySmartUpload.upload(); //upload file dataint size = 1024 * 1024 * 1024;if (mySmartUpload.getFiles().getSize() > size) {//control the size of the fileout.println("the files have to be < 1024MB !");} else {try {for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {//iterating the filesFile file = mySmartUpload.getFiles().getFile(i);if (file.isMissing())continue;String physicalPath = pageContext.getServletContext()//Tomcat/webapps/YourProject/Upload.getRealPath("/") + "/Upload/";file.saveAs(physicalPath + file.getFileName(),mySmartUpload.SAVE_PHYSICAL);}out.print("成功上傳檔案! ");} catch (Exception e) {out.print(e.toString());}}%>



JspSmartUpload 實現上傳

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.