導入腳本接口
* @param request
*/
@RequestMapping(value = "/importRule.json")
@ResponseBody
public void importRule(HttpServletRequest request) {
InputStream inputStream = null;
InputStreamReader inputStreamReader = null;
BufferedReader bufferedReader = null;
StringBuffer stringBuffer = new StringBuffer("");
//將當前上下文初始化給 CommonsMutipartResolver (多部分解析器)
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
request.getSession().getServletContext());
//檢查form中是否有enctype="multipart/form-data"
if(multipartResolver.isMultipart(request)) {
//將request變成多部分request
MultipartHttpServletRequest multiRequest=(MultipartHttpServletRequest)request;
//獲取multiRequest 中所有的文件名
Iterator iter=multiRequest.getFileNames();
while(iter.hasNext()) {
//一次遍歷所有文件
MultipartFile file=multiRequest.getFile(iter.next().toString());
if(file!=null) {
try {
inputStream = file.getInputStream();
inputStreamReader = new InputStreamReader(inputStream);
bufferedReader = new BufferedReader(inputStreamReader);
String content = "";
while ((content = bufferedReader.readLine()) != null) {
stringBuffer.append(content); // 一次讀入一行數據
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
List<RuleForm> ruleFormList = JSON.parseArray(new String(stringBuffer),RuleForm.class);
}
public static void exportJsonToTxt(HttpServletResponse response, Object result, Logger logger) {
String name = null;
PrintWriter printWriter = null;
try {
name = URLEncoder.encode("腳本", "UTF-8");
response.setHeader("Content-Disposition", "attachment;filename="+name);
response.setContentType("application/force-download");//應用程序強制下載
response.setCharacterEncoding("UTF-8");
printWriter = response.getWriter();
String content = JSONObject.toJSONString(result, nameFilter, SerializerFeature.DisableCircularReferenceDetect);
printWriter.println(content);
} catch (Exception e) {
logger.error("printWriter輸出json失敗!", e);
} finally {
if (printWriter != null) {
try {
printWriter.close();
} catch (Exception e) {
logger.error("out.close()出現異常", e);
}
}
}