Welcome to Yumao′s Blog.
之前有使用過這方面的東西
所以先記下來以備以後所需吧
相對與表單的上傳而言
1 2 3 | < form action = "#" method = "post" enctype = "multipart/form-data" > < input name = "uploadFile" type = "file" > </ form > |
在file文件上傳的時候會傳輸三個對象在Action中
一個是File對象 例如此例中的uploadFile
另外還有兩個String對象
一個是<File>ContentType 內容爲文件類型 例如本例子中的uploadFileContentType
一個是<File>FileName 內容爲文件名稱 例如本例子中的uploadFileFileName
然後以下是上傳文件實例代碼
1 2 3 4 5 6 7 | String filePath = "/tmp/test" ; File savefile = new File( new File(filePath),uploadFileName); //如果没有文件夹则建立 if (!savefile.getParentFile().exists()){ savefile.getParentFile().mkdirs(); } FileUtils.copyFile(uploadFile, savefile); |
下載文件代碼
1 2 3 4 | //僅需在action中添加需要下載的inputStream即可 public InputStream getInputStream() throws Exception { return new java.io.FileInputStream( "/tmp/test" ); } |
最重要的是struts.xml中的一系列設置
1 2 3 4 5 6 7 8 9 | <!-- 允許上傳文件的最大字節數。默認值爲2097152(2M) 設置在package之前 --> < constant name = "struts.multipart.maxSize" value = "20971520" /> <!-- 下載文件方面 在action中return "downloadFile" --> < result name = "downloadFile" type = "stream" > < param name = "contentType" >text/plain</ param > < param name = "inputName" >inputStream</ param > < param name = "contentDisposition" >attachment;filename="log.txt"</ param > < param name = "bufferSize" >4096</ param > </ result > |