概述
一、文件上传
背景:该文件上传功能是在spring框架中实现的,事先应做的准备:
(1)导入文件上传所需的jar包,commons-fileupload、commons-io
(2)在配置文件中applicationContext.xml添加如下内容
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8"></property>
<property name="maxUploadSize" value="10485760000"></property>
<property name="maxInMemorySize" value="40960"></property>
</bean>
1.控制器中的代码:
@RequestMapping("/upload")
public String uploadFile(HttpServletRequest request,@RequestParam("excelFile")MultipartFile file){
//获取上传文件的名称
String filePath = file.getOriginalFilename();
File file2 = new File("file");
if (!file2.exists()) {
//创建临时目录
file2.mkdir();
}
try {
//文件存放的路径
FileOutputStream fileOutputStream = new FileOutputStream(file2+"/"+filePath);
fileOutputStream.write(file.getBytes());
fileOutputStream.flush();
fileOutputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
return "error";
} catch (IOException e) {
e.printStackTrace();
return "error";
}
return UPLOADFILESUCC_PAGE;
}
2.jsp中的代码:
<form action="${pageContext.request.contextPath}/p_company/importexceldata.do" method="post" enctype="multipart/form-data" target="_top" class="form form-horizontal" id="forma" >
<input type="file" class="input-text" accept=".xls,.xlsx" id="" name="excelFile" style="width:250px" required="required">
<input class="btn btn-primary radius" type="submit" id="submit" value=" 导入 ">
</form>
二、文件下载
控制器中代码:
@RequestMapping("/download")
public void downloadFile(String fileName,HttpServletResponse response){
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName="+fileName);
try {
File file=new File(fileName);
System.out.println(file.getAbsolutePath());
InputStream inputStream=new FileInputStream("file/"+file);
System.out.println("11111111111"+file);
OutputStream os=response.getOutputStream();
byte[] b=new byte[1024];
int length;
while((length=inputStream.read(b))>0){
os.write(b,0,length);
}
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
jsp中代码:
<form action="${pageContext.request.contextPath}/p_company/download.do" method="post" target="_top" class="form form-horizontal" >
<input type="text" class="input-text" id="fileName" name="fileName" style="width:250px" required="required">
<input class="btn btn-primary radius" type="submit" id="submit" value=" 下载 ">
</form>
注:该下载方式是输入文件名称下载,包括后缀名
最后
以上就是安静过客为你收集整理的spring中文件上传与下载的全部内容,希望文章能够帮你解决spring中文件上传与下载所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复