版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hsl_1990_08_15/article/details/73351296
//IE9以下不支持FileReader对象,如果是IE9以下的浏览器,用下面这种方式进行预览
var ingSrc="";
var b_version = navigator.appVersion;
var version = b_version.split(";");
if(window.navigator.userAgent.indexOf("MSIE")>=1){
if (version.length > 1) {
var trim_Version = parseInt(version[1].replace(/[ ]/g, "").replace(/MSIE/g, ""));
if (trim_Version < 10) {
var x= new ActiveXObject("Msxml2.XMLHTTP.6.0");
x.onreadystatechange=function() {
if (x.readyState < 4)return;
var xml_dom = new ActiveXObject("MSXML2.DOMDocument");
var tmpNode = xml_dom.createElement("tmpNode");
tmpNode.dataType = "bin.base64";
tmpNode.nodeTypedValue = x.responseBody;
var base64string = tmpNode.text.replace(/\n/g, "");
imgSrc = "data:image/jpeg;base64,"+base64string;
};
x.open("get",this.value,true);
x.send("");
return;
}
}
}
//如果是其他浏览器使用FileReader对象获取
var reader = new FileReader();
reader.onload = function(e) {
imgSrc = e.target.result;
};
reader.readAsDataURL(this.files[0]);
传到后台的base64字符串解析方法
BASE64Decoder decoder = new BASE64Decoder();
InputStream inputStream = null;
try {
//base64字符串进行解密
byte[] b = decoder.decodeBuffer(base64);
// 处理数据
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {
b[i] += 256;
}
}
inputStream = new ByteArrayInputStream(b);
} catch (IOException e) {
e.printStackTrace();
return false;
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
把输入流输出到文件就OK了
扫描二维码关注公众号,回复:
3179000 查看本文章