トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

Spring MVC Tips



目次



記事一覧

キーワード

Spring MVC Tips

[Spring][Spring MVC]

コントローラー

 リクエストパラメータを必須でなくする

  • @RequestParam を指定するとデフォルトで必須なのでパラメータがない場合、URLにマッチしない
  • required=falseとする
@RequestMapping(value="/test.html",method = RequestMethod.GET)
public String setupForm( @RequestParam(value="id", required=false) String id, ModelMap model) {
              :


 ファイルアップロード

Form
<form id="formUpload" action="upload.html" method="POST" enctype="multipart/form-data" >
  <input name="attach_file" />
  <input type="submit" value="アップロード"/>
</form>

文字コードをiso-8859-1として変換
@RequestMapping(value="/upload.html", method = RequestMethod.POST)
public String uploadFile(MultipartFile file) {
    String filename = new String(file.getOriginalFilename().getBytes("iso-8859-1"),"utf-8");

 ファイルダウンロード

//String fileName = new String(originalFileName.getBytes("utf-8"),"iso-8859-1"); // Chrome OK, IE NG
String fileName = new String(originalFileName.getBytes("ms932"),"iso-8859-1"); // Chrome OK, IE OK

response.setHeader("Content-Type", "application/octet-stream");
response.setHeader("Content-Disposition", "filename=\"" + fileName + "\"");

BufferedInputStream  bis = new BufferedInputStream(attachFileDownloadService.getAttachFileOutputStream(attachFileInfo));
os = response.getOutputStream();

int len = 0;
byte[] buffer = new byte[1024];
while ((len = bis.read(buffer)) >= 0) { 
    os.write(buffer,0, len);
}
bis.close();



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.