public class ResponseUtils {
public static void responseJson(HttpServletResponse response, String text) {
render(response, "application/json;charset=UTF-8", text);
}
public static void responseScript(HttpServletResponse response, String script) {
render(response, "application/javascript", script);
}
public static void responseTextHtml(HttpServletResponse response, String text) {
render(response, "text/html;charset=UTF-8", text);
}
public static void responseXml(HttpServletResponse response, String text) {
render(response, "text/xml;charset=UTF-8", text);
}
public static void responseText(HttpServletResponse response, String text) {
render(response, "text/plain;charset=UTF-8", text);
}
public static void responseFile(HttpServletResponse response, InputStream is, String fileName) {
writeInputStream(response, is, fileName);
}
public static void responseFile(HttpServletResponse response, String filePath, String fileName, boolean isTemp) {
// 获取服务器文件
File file = new File(filePath);
if (!file.exists()) {
return;
}
try {
writeInputStream(response, new FileInputStream(file), fileName);
if (file.exists() && isTemp) {
file.delete();
}
} catch (Exception e) {
}
}
private static void render(HttpServletResponse response, String contentType, String text) {
response.setContentType(contentType);
try {
response.getWriter().write(text);
} catch (IOException e) {
e.printStackTrace();
}
}
private static void writeInputStream(HttpServletResponse response, InputStream is, String fileName) {
if (null == is) {
return;
}
/* 设置文件ContentType类型,这样设置,会自动判断下载文件类型 */
response.setContentType("multipart/form-data");
/* 设置文件头:最后一个参数是设置下载文件名 */
response.setCharacterEncoding("utf-8");
// ".zip"
try (OutputStream os = response.getOutputStream()) {
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
byte[] b = new byte[1024];
int len;
while ((len = is.read(b)) > 0) {
os.write(b, 0, len);
os.flush();
}
} catch (Exception e) {
} finally {
try {
is.close();
} catch (IOException e) {
}
}
}
}
对Response的一些常用操作
最新推荐文章于 2023-07-20 16:15:08 发布