Welcome to Yumao′s Blog.
Struts2文件上傳下載
, 2014年04月15日 , Java Language , 评论 在〈Struts2文件上傳下載〉中留言功能已關閉 ,

之前有使用過這方面的東西
所以先記下來以備以後所需吧
相對與表單的上傳而言

<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

然後以下是上傳文件實例代碼

	String filePath = "/tmp/test";
	File savefile = new File(new File(filePath),uploadFileName);
	//如果没有文件夹则建立
	if (!savefile.getParentFile().exists()){
            savefile.getParentFile().mkdirs();
	}
	FileUtils.copyFile(uploadFile, savefile);

下載文件代碼

	//僅需在action中添加需要下載的inputStream即可
	public InputStream getInputStream() throws Exception {   
		return new java.io.FileInputStream("/tmp/test");   
   	 } 

最重要的是struts.xml中的一系列設置

<!-- 允許上傳文件的最大字節數。默認值爲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>
关键字:, ,

评论已关闭