Javascript将图像上传到PHP base64_解码
我有一个javascript上载函数,可以将上载的图像转换(并成功显示)为base64代码,如下所示: 数据:图像/png;base64,IVBorW0KggoaaaAnsuhueugaaaaaaaaaaaaAaAaAaAaAaAaAaAaAaAaAaAaAaD17xJxAaAaAaAaAglet…ZrV0Tk9FCerjtnmMaviroe9QaWnKau5LLQhuseikv8/0HBub0ZqcKwaaAaAaAaAaAaAaAaAaA js代码来自我在stackoverflow上找到的一个函数,代码如下:Javascript将图像上传到PHP base64_解码,javascript,php,base64,Javascript,Php,Base64,我有一个javascript上载函数,可以将上载的图像转换(并成功显示)为base64代码,如下所示: 数据:图像/png;base64,IVBorW0KggoaaaAnsuhueugaaaaaaaaaaaaAaAaAaAaAaAaAaAaAaAaAaAaAaD17xJxAaAaAaAaAglet…ZrV0Tk9FCerjtnmMaviroe9QaWnKau5LLQhuseikv8/0HBub0ZqcKwaaAaAaAaAaAaAaAaAaA js代码来自我在stackoverflow上找到的一
readImage: function(file) {
var reader = new FileReader();
var image = new Image();
reader.readAsDataURL(file);
reader.onload = function(_file) {
image.src = _file.target.result; // url.createObjectURL(file);
image.onload = function() {
var w = this.width,
h = this.height,
t = file.type, // ext only: // file.type.split('/')[1],
n = file.name,
s = ~~(file.size/1024) +'KB';
console.log(this.src)
$('#uploadPreview').append('<img src="'+ this.src +'"> '+w+'x'+h+' '+s+' '+t+' '+n+'<br>');
};
image.onerror= function() {
alert('Invalid file type: '+ file.type);
};
};
}
但我看到的只是虚假的或空白的数据:image/png;base64'不是b64编码的-它是有关图像文件类型的信息。解码前必须将其删除。$base64_string=base64_decode('ivborw0kgoaaaansuhueugaaaaaaaaaawcaaawcaiaaad17xjxaaaahglet…zrv0tk9fcerjtnmaviroe9qaawjnkau5llqhuseikv8/0hbub0zqcwaaasuvork5cyii=');echo$base64_字符串;出口结果为:‰PNG IHDR€põírWiDMšÒÒ½!%3fābF½Žr€S'229; B'x•ÏB'x“QS'+~哪个是正确的-这是解码值。javascript将此.src显示为数据:image/png;base64,ivborw0kgoaansuhueugaaoaaarwcaiaad17xjxaaaaglet…zrv0tk9fcerjtnmmaviroe9qawjnkau5llqhuseikv8/0hbub0zqcaaasuv5cyii=并且该图像看起来像一个图像,而不是png IHDR€põššššrWiDMššššŠŠŠŠŠŠŠŠŠŠŠ35•“QS”+~如果您想显示它,您需要将它包装在图像标签中
echo base64_decode('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAARwCAIAAAD17XJXAAAAHGlET…ZrV0tK9FCERJTNmmAViRoe9QAawjnKAU5LlQhuSeIKVf8/0HbUB0ZqCkwAAAAASUVORK5CYII=');
exit;