我是靠谱客的博主 安静过客,最近开发中收集的这篇文章主要介绍spring中文件上传与下载,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、文件上传

背景:该文件上传功能是在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中文件上传与下载所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部