赞
踩
直接上源码,
-
- @ResponseBody
- @RequestMapping(value = "/getDocx", method = RequestMethod.GET)
- public String getDocumentBase64(@RequestBody JSONObject jsonParam, HttpServletResponse res){
- String fileName = "default.docx";
-
- String base64String = "";
- InputStream in = null;
- byte[] fileByte = null;
-
- try{
- JSONObject massageJson = jsonParam.getJSONObject("massage");
- // 生成乱码名
- String documentTreesJson = jsonParam.getJSONObject("data").toJSONString();
- fileName = massageJson.getString("userName") + "__" + massageJson.getString("fileSuffix")
- + "__" + RandomUtil.getRandomString(32) + ".docx";
- // 生成docx 到fileName
- DocumentUtil.GenerateDocument(documentTreesJson, fileName);
-
- in = new FileInputStream(fileName); //通过打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的路径名 name 指定。
- int size = in.available(); // 返回下一次对此输入流调用的方法可以不受阻塞地从此输入流读取(或跳过)的估计剩余字节数。
- fileByte = new byte[size];
- in.read(fileByte); //从此输入流中将最多 size 个字节的数据读入一个 imageByte字节 数组中。
- in.close(); //关闭此文件输入流并释放与此流有关的所有系统资源。
-
- }catch (Docx4JException e){
- System.out.println("生成docx文件失败,Json:" + jsonParam.toJSONString());
-
- }catch (Exception e){
- System.out.println("创建输出流失败,Json:" + jsonParam.toJSONString());
- JSONObject massageJson = jsonParam.getJSONObject("massage");
- String documentTreesJson = jsonParam.getString("data");
- System.out.println(massageJson.toJSONString());
- System.out.println("data: " + documentTreesJson);
-
- } finally{
- BASE64Encoder encoder = new BASE64Encoder();
-
- base64String = encoder.encode(fileByte);// 对字节数组转换成Base64字符串
- if(!IOUtil.delFile(new File(fileName))){
- System.err.println("文件未成功删除");
- }
- }
- // System.out.println(base64String);
- return base64String;
-
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。