Spring MVC上传下载文件

/**
 * 下载文档文件
  * @param request
 * @param response
 * @param file_name
 * @throws IOException
 */
@RequestMapping(value = "/download_dex_privacy.do/{file_name}")
public void downloadDexDoc(@PathVariable("file_name") String file_name,HttpServletRequest request, HttpServletResponse response) throws IOException {
    String path=request.getServletContext().getRealPath("/WEB-INF/classes/dex_doc");
    System.out.println(path);
    File file=new File(path+"/"+file_name);
    // 获取输入流
    InputStream bis = new BufferedInputStream(new FileInputStream(file));
    // 假如以中文名下载的话
    // 转码,免得文件名中文乱码
    // 设置文件下载头
    response.addHeader("Content-Disposition", "attachment;filename=" + file_name);
    // 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();
}
/**
 * 上传文件
 * @param receipt
 * @return
 */
@RequestMapping(value = "upload.do")
@ResponseBody
public ReturnReceipt addReceipt(@RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) {
    BasePage_Model pageModel=SetDefaultPage(request);
    ReturnReceipt returnReceipt=new ReturnReceipt();
    if (file.isEmpty()) {
        returnReceipt.status=receiptStatus.status_102;
        returnReceipt.message="上传失败,请选择文件";
    }else{
           //文件拿到需要做的操作
         //uploadFile(file);
         returnReceipt.status=receiptStatus.status_100; 
         returnReceipt.message="上传文件成功";
    }
    return returnReceipt;
}
springmvc.xml 里面加入
<!--文件上传下载-->
<!-- 处理文件上传 -->
<bean id="multipartResolver"
      class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="defaultEncoding" value="UTF-8" /> <!-- 默认编码 (ISO-8859-1) -->
    <property name="maxInMemorySize" value="10240" /> <!-- 最大内存大小 (10240)-->
    <property name="maxUploadSize" value="-1" /> <!-- 最大文件大小,-1为无限止(-1) -->
</bean>

转载于:https://my.oschina.net/u/4128799/blog/3045983

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值