|
楼主 |
发表于 2015-6-22 20:49:13
|
显示全部楼层
baas后台的处理过程:
//存储前台传过来的图片
private static void uploadImageAjax(ServletRequest request, ServletResponse response) throws ParseException, SQLException, NamingException, IOException {
// 参数序列化
JSONObject params = (JSONObject) JSONObject.parse(request.getParameter("params"));
JSONObject jsonObj = new JSONObject();
String image = params.getString("image"); //拿到字符串格式的图片
String subPath=params.getString("subPath");
String PicName=params.getString("PicName");
System.out.println(PicName);
// 只允许jpg
String header ="data:image/jpeg;base64,";
// 去掉头部
image=image.split(",")[1];
//image = image.substring(header.length());
// 写入磁盘
String success = "fail";
BASE64Decoder decoder = new BASE64Decoder();
try{
byte[] decodedBytes = decoder.decodeBuffer(image); //将字符串格式的image转为二进制流(biye[])的decodedBytes
String imgFilePath =subPath+PicName; //指定图片要存放的位置
FileOutputStream out = new FileOutputStream(imgFilePath); //新建一个文件输出器,并为它指定输出位置imgFilePath
out.write(decodedBytes); //利用文件输出器将二进制格式decodedBytes输出
out.close(); //关闭文件输出器
success = "上传文件成功!";
System.out.println("上传文件成功!");
}catch(Exception e){
success = "上传文件失败!|"+e.getMessage();
e.printStackTrace();
}
finally{
jsonObj.put("success", success);
Util.writeJsonToResponse(response, jsonObj);
}
}
|
|