import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Calendar;
import java.util.Random; import javax.servlet.http.HttpServletRequest; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import sun.misc.BASE64Decoder; public class ImageUntil {
public boolean saveBase64File(String username,String imgStr) {
// 对字节数组字符串进行Base64解码并生成图片
if (imgStr == null) // 图像数据为空
return false;
imgStr = imgStr.replaceAll("data:image/jpeg;base64,", "");
BASE64Decoder decoder = new BASE64Decoder();
try {
// Base64解码
byte[] b = decoder.decodeBuffer(imgStr);
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {// 调整异常数据
b[i] += 256;
}
}
// 生成jpeg图片
String fileName=username + ".jpg";
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
File f2=new File(System.getProperty("catalina.home")+ File.separator+"webapps"+File.separator+"uploadFile");
boolean exists2 = f2.exists();
if(!exists2){
f2.mkdirs();
}
//String realPath=request.getSession().getServletContext().getRealPath("uploadFile/touxiang")+ File.separator;
String tomcaturl=System.getProperty("catalina.home")+ File.separator+"webapps"+File.separator+"uploadFile"+File.separator+"touxiang"+ File.separator;
File f1=new File(System.getProperty("catalina.home")+ File.separator+"webapps"+File.separator+"uploadFile"+File.separator+"touxiang");
boolean exists = f1.exists();
if(!exists){
f1.mkdirs();
}
File file = new File(tomcaturl+fileName);
OutputStream out = new FileOutputStream(file);
out.write(b);
out.flush();
out.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
对字节数组字符串进行Base64解码并生成图片,imgData是从客户端发过来的,图片经过base64位处理的字符串,并将图片存在tomcat服务器根目录下

最新文章

  1. 报表或BI的价值在哪?
  2. ubuntu16.04部署RED5流媒体服务器
  3. POJ 3580:SuperMemo(Splay)
  4. VB6的命令行参数
  5. 7款值得你心动的HTML5动画和游戏
  6. mysql远程连接出现 ERROR 2003 (HY000): Can&#39;t connect to MySQL server on IP
  7. jQuery选择器部分知识点总结
  8. House Robber &amp; House Robber II
  9. CSS3的radial-gradient(径向渐变)
  10. 两端对齐布局与text-align:justify
  11. Leetcode题解(28)
  12. WEB 性能测试用例设计以及总结
  13. javaScript笔记详解(1)
  14. Salesforce 导入导出数据简介
  15. j旧学习
  16. kafka命令行脚本使用
  17. lnmp架构搭建实例
  18. $Django 模板层(变量、过滤器 、标签)、自定义(模板过滤器,标签)
  19. C#中读取xml文件指定节点
  20. 實戰ESXi 5設置MPIO 打造IP-SAN負載平衡容錯

热门文章

  1. Cordova - CordovaError: Promise rejected with non-error: &#39;ios-deploy was not found
  2. CF 798B 渣渣题
  3. Spring Boot快速搭建Web工程
  4. Elasticsearch-搜索推荐
  5. Ubuntu 16.04LTS安装Nginx
  6. JAVA是是如何处理字符的。
  7. J01-Java IO流总结一 《异常捕获》
  8. sqlserver监控阻塞(死锁)具体情况(转)
  9. UBUNTU下MONGODB出现PHP Fatal error: Uncaught exception &#39;MongoConnectionException&#39; with message 和 Authentication failed on database &#39;admin&#39; with username
  10. 原生js动态添加style,添加样式