← 回到文章列表

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>

在这里找找

输入关键词,找一篇过去的记录。