标签:返回 param fileName import 工具 null response out
import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URLEncoder; /** * 使用response返回的工具类 * @author lyn */ @Slf4j public class ResponseUtils { /** * 使用response输出JSON * * @param response * @param result */ public static void outJson(ServletResponse response, Object result) { PrintWriter out = null; try { response.setCharacterEncoding("UTF-8"); response.setContentType("application/json"); out = response.getWriter(); out.println(new ObjectMapper().writeValueAsString(result)); } catch (Exception e) { log.error(e + "输出JSON出错"); } finally { if (out != null) { out.flush(); out.close(); } } } /** * 将字符串渲染到客户端 * * @param response 渲染对象 * @param string 待渲染的字符串 * @return null */ public static String renderString(HttpServletResponse response, String string) { try { response.setStatus(200); response.setContentType("application/json"); response.setCharacterEncoding("utf-8"); response.getWriter().print(string); } catch (IOException e) { e.printStackTrace(); } return null; } /** * 使用response输出文件 * * @param response * @param is 文件流 * @param fileName 文件名 */ public static void outFile(HttpServletResponse response, InputStream is, String fileName) { // 设置强制下载不打开 response.setContentType("application/force-download"); // 设置文件名 response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); BufferedInputStream bis = null; try { //中文乱码 fileName = URLEncoder.encode(fileName, "UTF-8"); OutputStream outputStream = response.getOutputStream(); //把输入流copy到输出流 IOUtils.copy(is, outputStream); outputStream.flush(); } catch (Exception e) { e.printStackTrace(); } } }
标签:返回,param,fileName,import,工具,null,response,out 来源: https://www.cnblogs.com/lyn8100/p/15981976.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。