使用canvas调整大小后的上传文件jquery

时间:2018-04-22 11:23:06

标签: javascript jquery canvas file-upload jquery-file-upload

我正在使用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 } } 而不是真实图像提交图像。

0 个答案:

没有答案