標籤:logs oid print tco color inpu pre tip com
struts2 在內部已經幫我們做了很多封裝的工作,我們只需要簡單的寫一些配置即可。
1 表單頁面
<form action="${pageContext.request.contextPath }/fileupload" method="post" enctype="multipart/form-data"> <input type="file" name="filesrc" ><br> <input type="submit" value="提交"> </form>
注意:要記住input type=file 的 name屬性值,後台會用到
2 FileUploadAction 類來處理檔案上傳,將上傳來的檔案存放到upload 檔案夾裡
public class FileUploadAction extends ActionSupport { private File filesrc; private String filesrcFileName; private String filesrcContentType; public File getFilesrc() { return filesrc; } public void setFilesrc(File filesrc) { this.filesrc = filesrc; } public String getFilesrcFileName() { return filesrcFileName; } public void setFilesrcFileName(String filesrcFileName) { this.filesrcFileName = filesrcFileName; } public String getFilesrcContentType() { return filesrcContentType; } public void setFilesrcContentType(String filesrcContentType) { this.filesrcContentType = filesrcContentType; } public String uploadFile(){ String path = ServletActionContext.getServletContext().getRealPath("/upload"); File destFile = new File(path, filesrcFileName); try { FileUtils.copyFile(filesrc, destFile); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(e); } return SUCCESS; } }
注意:所有與上傳檔案有關的域變數命名規則開始要使用 form 表單中的name屬性值。比如要有一個檔案對象,就是filesrc,如果想知道檔案名稱,就是:filesrcFileName,其中後面的FileName是固定的。至此就可以將檔案存放到upload檔案夾中。
當然此處沒有設定檔案大小、類型等判斷。
3 action的配置,和一般的action配置相同。就不寫了。可以參考之前的博文。struts2開發流程及配置,域對象對資料存放區的3種方式
struts2實現簡單檔案上傳