package com.cmiot.controller;
import com.cmiot.util.DownLoadUtils;
import com.cmiot.util.FileDownload;
import org.apache.commons.io.IOUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
@Controller
public class FileOperationController {
private static final Logger logger = LogManager.getLogger(FileOperationController.class);
@RequestMapping("/operation")
public void downLoadFileRecord(HttpServletRequest request, HttpServletResponse response, @RequestParam String url) throws Exception {
FileDownload f = new FileDownload();
f.setUrl(url);
String fileName = new File( url.trim()).getName();
String name = new File( url.trim()).getName().substring(0,new File( url.trim()).getName() .lastIndexOf("."));
String realName = new String(name.getBytes("iso8859-1"),"utf-8");
String mimeType = url.substring((url.lastIndexOf(".")+1),url.length());
String dname = DownLoadUtils.getName(request.getHeader("User-Agent"), realName);
response.setHeader("Content-Disposition", "attachment;fileName="+fileName);
response.setHeader("Content-Type",mimeType);
FileInputStream in = new FileInputStream(new File(url));
ServletOutputStream out = response.getOutputStream();
IOUtils.copy(in, out);
in.close();
}
}
html链接: <a href="/operation?url=E:\word.doc&test=yes">点击下载</a>