import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class FileDown {
protected Logger log = LoggerFactory.getLogger(this.getClass());
/**
* 文件下载
* @param response 请求响应
* @param sourcePath 下载目标文件路径
* @param name 下载后的文件名
* @return 是否下载成功
* @throws Exception
*/
public static boolean down(HttpServletResponse response,String sourcePath, String name) throws Exception {
OutputStream out = null;
try {
if(sourcePath != null){
byte[] byteArray = null;
//设置下载后的文件名(name)
response.setHeader("Content-Disposition", "attachment;filename=" + name + " ");
InputStream input = new FileInputStream(new File(sourcePath+name));
int lenth = input.available();
byteArray = new byte[lenth];
input.read(byteArray);
input.close();
out = response.getOutputStream();
out.write(byteArray);
out.flush();
out.close();
}
} catch (Exception ex) {
return false;
} finally {
if (out != null)
out.close();
}
return true;
}
}
调用:
boolean downFlag = FileDown.down(response,sourcePath,"fileName.json");