使用Java Servlet保存 TScrnCut截屏插件及Web扫描插件上传的图像,如需保存为png请修改图像后缀,使用javascript设置插件返回图像格式
服务器端Servlet代码如下:
package TscrnCut;
import sun.misc.BASE64Decoder;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* Created by IntelliJ IDEA.
* User: nxiaoping
* Date: 2014-1-10
* Time: 9:36:23
* To change this template use File | Settings | File Templates.
*/
public class uploadServlet extends HttpServlet{
public uploadServlet()
{
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
BufferedOutputStream bos = null;
FileOutputStream fos = null;
File file = null;
String fileName = java.util.UUID.randomUUID().toString();
try{
String currentDirPath = getServletContext().getRealPath("/upfile/TScrnCut");
byte[] fileDat = ImageStr2Bytes(request.getParameter("imgdat"));
File currentDir = new File(currentDirPath);
if(!currentDir.exists())
{
currentDir.mkdir();
}
file = new File(currentDirPath+"/"+fileName+".jpg");
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos);
bos.write(fileDat);
}catch(Exception e){
}finally {
if (bos != null) {
try {
bos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
response.getWriter().print("{src:'"+fileName+".jpg'}") ;
}
public static byte[] ImageStr2Bytes(String imgStr) {
BASE64Decoder decoder = new BASE64Decoder();
try {
byte[] b = decoder.decodeBuffer(imgStr);
return b;
} catch (Exception e) {
}
return null;
}
}
插件调用、截图图像发送请访问以下链接
IE截屏插件介绍及下载http://blog.csdn.net/ldevs/article/details/10102693
Web扫描插件介绍及下载http://blog.csdn.net/ldevs/article/details/9837149