保存头像- vue项目-base64字符串转图片
<img :onerror="errpic" class="customerHead" :src="param.customerHead" alt="">
data() {
  return {
param:{
       id:"",
					      customerHead: "",
}
}
}
let _this = this
let files = e.target.files[0]
if (files.size/(1024*1024) > 2) {
this.open('上传的图片不可大于2M!')
return false;
}
var reader = new FileReader();
reader.onload = function (e) {
var base64 = e.target.result;
_this.param.customerHead = base64
//console.log(base64)
}
if(files) {
reader.readAsDataURL(files);
}

如果修改头像,向后台传base64字符串,否则会传原图片路径,后台判断是否是base64字符串.
如果是base64字符串,则对base64字符串进行处理,在后台服务器生成图片.此处需要对base64字符串进行处理,如图所示,删除蓝框部分,留逗号之后的内容.
若为图片路径,则不需要进行处理,直接返回图片路径即可.

@Value("${upload.image.path}")
private String filePath;
//base64字符串转化成图片  headerImgPath:http://+ip+:端口号
    public String  generateImage(String imgStr,String headerImgPath,String cusID)
    {  //对字节数组字符串进行Base64解码并生成图片
        if (imgStr == null) //图像数据为空
            return "../picclife/static/custom.png";
        BASE64Decoder decoder = new BASE64Decoder();
        try
        {
            //判断是base64字符串还是图片路径
            if(imgStr.substring(0,5).equals("data:")){
                //Base64解码
                byte[] b = decoder.decodeBuffer(imgStr.substring(imgStr.indexOf(",") + 1));
                for(int i=0;i<b.length;++i)
                {
                    if(b[i]<0)
                    {//调整异常数据
                        b[i]+=256;
                    }
                }
                //生成图片
                String imgFilePath = filePath+"/headerImg/"+cusID+".jpg";//新生成的图片
                OutputStream out = new FileOutputStream(imgFilePath);
                out.write(b);
                out.flush();
                out.close();
                return headerImgPath+"headerImg/"+cusID+".jpg";
            }else{
                return imgStr;
            }
        }
        catch (Exception e)
        {
            return "../picclife/static/custom.png";
        }
    }


保存头像- vue项目-base64字符串转图片的更多相关文章
- c# 中base64字符串和图片的相互转换
		c#base64字符串转图片用到了bitmap类,封装 GDI+ 位图,此位图由图形图像及其特性的像素数据组成. Bitmap 是用于处理由像素数据定义的图像的对象. 具体bitmap类是什么可以自己 ... 
- php将base64字符串转换为图片
		昨天用一个js插件 [链接]: http://www.erdangjiade.com/js/910.html 实行了图片裁剪并预览,不过它生产的图片资源是一个base64字符串,不好保存后来在网上找到 ... 
- Base64 字符串转图片 问题整理汇总
		前言 最近碰到了一些base64字符串转图片的开发任务,开始觉得没啥难度,但随着开发的进展还是发现有些东西需要记录下. Base64 转二进制 这个在net有现有方法调用: Convert.FromB ... 
- java 图片转base64字符串、base64字符串转图片
		java 图片转base64字符串.base64字符串转图片 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64编码字符串 * ... 
- 前端获取Base64字符串格式图片Ajax到后端处理
		前端获取到的Base64字符串格式图片一般都是经过处理的图片,例如:裁剪过后的,这里假设data为获取到的Base64字符串格式图片 Base64格式图片的格式为 “data:image/png;ba ... 
- Vue项目打包后背景图片路径错误
		vue项目打包之后背景图片出错的解决方案如下: 1,找到 config->index.js里面,如下修改 默认配置: env: require('./prod.env'), index: pat ... 
- vue项目base64转img
		最近一个vue项目中,有个需求是, 发送消息是base64时,转换成图片预览发送出去. 输入框: <el-input class="input-box" ref=" ... 
- C# imgage图片转base64字符/base64字符串转图片另存成
		//图片转为base64编码的字符串 protected string ImgToBase64String(string Imagefilename) { try { Bitmap bmp = new ... 
- 配置vue项目将打包后图片文件的引用路径改为cdn路径?
		vue cli3项目, 需求: 图片文件打包时, 将项目内的所有图片文件的引用地址改为cdn路径 vue cli3的默认配置下, 打包后图片使用的是相对路径, 例如打包后项目内图片引用路径为 img/ ... 
随机推荐
- 进入保护模式(二)——《x86汇编语言:从实模式到保护模式》读书笔记14
			首先来段题外话:之前我发现我贴出的代码都没有行号,给讲解带来不便.所以从现在起,我要给代码加上行号.我写博客用的这个插入代码的插件,确实不支持自动插入行号.我真的没有找到什么好方法,无奈之下,只能按照 ... 
- 九度oj 1001 A+B for Matrices 2011年浙江大学计算机及软件工程研究生机试真题
			题目1001:A+B for Matrices 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:15235 解决:6172 题目描述: This time, you are supposed ... 
- IE10 CSS Hack(顺便聊聊IE11的CSS Hack)
			一.特性检测:@cc_on 我们可以用IE私有的条件编译(conditional compilation)结合条件注释来提供针对ie10的Hack:该脚本里面的IE排除条件注释,以确保IE6-9不承认 ... 
- VirtualBox虚拟机Centos7网络配置
			Centos7要实现虚拟机可以链接网络,主机与虚拟机可以互相通过ip地址访问,需要配置两种网卡,两张网卡配置不同的网络链接方式 virtualBox 网络链接讲解地址:https://www.cnbl ... 
- HttpServletResponse对象(二)之常见应用
			---恢复内容开始--- 1. 使用HttpServletResponse对象实现文件下载 文件下载功能是web开发中经常使用到的功能,使用HttpServletResponse对象就可以实现文件的下 ... 
- JS对象原型的理解
			基于原型的语言 JavaScript 常被描述为一种基于原型的语言 (prototype-based language)——每个对象拥有一个原型对象,对象以其原型为模板.从原型继承方法和属性.原型对象 ... 
- eclipse Java类 红色感叹号  commit失败
			解决方法: 1.进入java类文件所在物理目录 (e:\workspace\myproject\...) 2. 删除多余的版本管理工具的文件或文件夹(如 .svn) 3. 刷新eclipse工程 4 ... 
- git管理之源切换
			Git remote 修改源 git commit -m "Change repo." # 先把所有为保存的修改打包为一个commit git remote remove orig ... 
- js获取当前日期和时间的代码
			最佳答案 var myDate = new Date(); myDate.toLocaleDateString(): //获取当前日期myDate.toLocaleTimeString(); //获取 ... 
- css模仿百度首页
			<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ... 
