我正在使用C:\Users\[user]\.minishift\machines
上传图片并使用画布在D:\My VMs\
回调中调整它们的大小。图像调整成功。我面临的问题是,提交原始图像而不是提交调整大小图像。
这是我的代码
fileupload
我很困惑在add
之后我获得了调整大小图像的dataURL。如何使用add: function (e, data) {
types = /(\.|\/)(gif|jpeg|png|jpg)$/i;
file = data.files[0];
file_name = file.name.replace(".","-").replace(/\W/g, '');
if(types.test(file.type) || types.test(file.name)) {
var reader = new FileReader();
reader.onload = function(readerEvent) {
var image = new Image();
image.onload = function(imageEvent) {
var max_size = 300;
var w = image.width;
var h = image.height;
if (w > h) { if (w > max_size) { h*=max_size/w; w=max_size; }
} else { if (h > max_size) { w*=max_size/h; h=max_size; } }
var canvas = document.createElement('canvas');
canvas.width = w;
canvas.height = h;
canvas.getContext('2d').drawImage(image, 0, 0, w, h);
if (file.type == "image/jpeg") {
var dataURL = canvas.toDataURL("image/jpeg", 1.0);
} else {
var dataURL = canvas.toDataURL("image/png");
}
file = dataURL;
file.context = jQuery(tmpl("template-upload", file));
jQuery('#new_picture').fileupload('send', file);
}
image.src = readerEvent.target.result;
}
reader.readAsDataURL(file); // read the local file
}
}
而不是真实图像提交图像。