Springmvcファイルアップロードダウンロードの簡単な実装例(ssmフレームワーク使用)

3796 ワード

springmvc文件上传下载简单实现案例(ssm框架使用)_第1张图片
Springmvcファイルのアップロードとダウンロードは非常に簡単です.このspringmvcアップロードのダウンロード例はすでに構築されたssmフレームワーク(spring+springmvc+mybatis)に適しています.ssmフレームワークプロジェクトの構築はすでに構築されていると信じています.ここではもう説明しません.次から始めましょう.
ssmフレームワークの統合の詳細は、次を参照してください.http://www.tpyyes.com/a/javaweb/2016/1103/23.html
1.まず、次のようなテスト用のjspページを作成します.





      


	
:


2.私たちのmavenプロジェクトのpom.xmlファイルにfileuploadファイルを追加してjarパッケージをアップロードします.そうしないと、次のようにエラーが発生する可能性があります.


commons-fileupload
commons-fileupload
1.3

3.springのservletビュー解析器の下にCommonsMultipartResolverファイル解析器を定義します.これに参加したときにプロジェクトを実行し、fileuload関連jarパッケージがないとエラーが表示されます.

  
	
	
	 
	  

4.controllerレイヤにspringmvcアップロードダウンロードのコードを書いて、以下のようにします.
package com.baidu;
@RequestMapping("file")
@Controller
public class FileController {
    /**
     *       
     * @param file
     * @return
     * @throws IOException 
     */
    @RequestMapping(value="/upload",method=RequestMethod.POST)
    @ResponseBody
    public String upload(MultipartFile file,HttpServletRequest request) throws IOException{
        String path = request.getSession().getServletContext().getRealPath("upload");
        String fileName = file.getOriginalFilename();  
        File dir = new File(path,fileName);        
        if(!dir.exists()){
            dir.mkdirs();
        }
        //MultipartFile       
        file.transferTo(dir);
        return "ok!";
    }
    
    /**
     *       
     * @param request
     * @param response
     * @throws Exception
     */
    @RequestMapping("/down")
    public void down(HttpServletRequest request,HttpServletResponse response) throws Exception{
        //    ,myfile.txt        
        String fileName = request.getSession().getServletContext().getRealPath("upload")+"/myfile.txt";
        //     
        InputStream bis = new BufferedInputStream(new FileInputStream(new File(fileName)));
        //          
        String filename = "    .txt";
        //  ,         
        filename = URLEncoder.encode(filename,"UTF-8");
        //       
        response.addHeader("Content-Disposition", "attachment;filename=" + filename);  
        //1.    ContentType  ,    ,             
        response.setContentType("multipart/form-data"); 
        BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
        int len = 0;
        while((len = bis.read()) != -1){
            out.write(len);
            out.flush();
        }
        out.close();
    }
}

Springmvcのアップロードとダウンロードが便利で、コードを直接コピーして使用します.