|
楼主 |
发表于 2018-4-27 16:07:40
|
显示全部楼层
我自定义的action中代码
// 获取图纸
public static JSONObject getImgInfo(JSONObject params, ActionContext context) throws JsonGenerationException, JsonMappingException, IOException {
String id = params.getString("Strid"); // 获取图纸ID
HttpServletRequest request = (HttpServletRequest) context.get(ActionContext.REQUEST);
HttpServletResponse response = (HttpServletResponse) context.get(ActionContext.RESPONSE);
PreparedStatement pstmt = null;
ResultSet rs = null;
Connection conn = null;
String sql = "";
try {
conn = context.getConnection("txxt");
if (id != null) {
sql = "SELECT * FROM ENTITY_000 WHERE ID = '" + id + "' AND USED = 1";
System.out.println(sql);
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs != null) {
if (rs.next()) {
String dest = null;
Blob blob = rs.getBlob("ENTITY");
InputStream in = blob.getBinaryStream();// 生成输入流
WmfParser parser = new WmfParser();// 将wmf进行解析
final SvgGdi gdi = new SvgGdi(false);
parser.parse(in, gdi);// wmf转svg
Document doc = gdi.getDocument();
OutputStream out = new FileOutputStream(dest);//将svg写入到dest
if (dest.endsWith(".svgz")) {
out = new GZIPOutputStream(out);
}
output(doc, out, dest);
// String file = null;
JPEGTranscoder it = new JPEGTranscoder();
TranscoderInput a = new TranscoderInput();
ByteArrayOutputStream jpg = new ByteArrayOutputStream();
it.transcode(a, new TranscoderOutput(jpg));
String jpgFile=dest.replaceAll("svg","jpg");
FileOutputStream jpgOut=new FileOutputStream(jpgFile);
jpgOut.write(jpg.toByteArray());
jpgOut.flush();
}
}
}
return null;
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
return null;
} |
|