我有一个表单,允许用户上传图片,用户选择的图片被转换为 用于发送到服务器的 Base64 字符串。
如何在用户选择的图像转换为 Base64 之前对其进行压缩?我对编码相当陌生,所以我会欣赏一些代码示例。
我将图像转换为 base64 的代码是:
document.querySelector('#upload').addEventListener('change',handleFileSelect,false);
$('input[type=file]').change(function () {
console.dir(this.files[0])
})
function handleFileSelect(e) {
var files = e.target.files;
var filesArr = Array.prototype.slice.call(files);
filesArr.forEach(function(f) {
if (!f.type.match("image.*")) return;
var reader = new FileReader();
reader.onload = function(e) {
console.log(e);
var base64 = e.target.result;
document.getElementById("output").value = base64;
};
reader.readAsDataURL(f);
});
}