Springmvcファイルアップロードダウンロードの簡単な実装例(ssmフレームワーク使用)
3796 ワード
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のアップロードとダウンロードが便利で、コードを直接コピーして使用します.