上传前调整Javascript图像大小
我正在尝试调整客户端上的大/大图像大小,并上载较小的图像。这对于一个或十个图像非常有效。但我想上传我的50多张图片。这将工作,但它会减慢我的cpu和内存。调整大小的图像的代码如下所示:上传前调整Javascript图像大小,javascript,client,image-resizing,Javascript,Client,Image Resizing,我正在尝试调整客户端上的大/大图像大小,并上载较小的图像。这对于一个或十个图像非常有效。但我想上传我的50多张图片。这将工作,但它会减慢我的cpu和内存。调整大小的图像的代码如下所示: var MAX_WIDTH = 1920; var MAX_HEIGHT = 1920; var loaded = 0; var URL = window.URL || window.webkitURL; function loadImage(file) {
var MAX_WIDTH = 1920;
var MAX_HEIGHT = 1920;
var loaded = 0;
var URL = window.URL || window.webkitURL;
function loadImage(file) {
var mime = file.type;
var src = URL.createObjectURL(file);
var img = new Image();
img.onload = (function (image) {
return function () {
var newHeight = MAX_WIDTH;
var newWidth = MAX_HEIGHT;
var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, canvas.width, canvas.height);
canvas.width = newWidth;
canvas.height = newHeight;
ctx.drawImage(image, 0, 0, this.width, this.height, 0, 0, newWidth, newHeight);
URL.revokeObjectURL(this.src);
var dataURI = canvas.toDataURL(mime);
var blob = dataURLToBlob(dataURI);
imagesToUpload.push(blob);
loaded++;
if (loaded < checkedFiles.length) {
loadImage(checkedFiles[loaded]);
} else {
//DO UPLOAD
input.value = "";
}
}
})(img);
img.src = src;
image = null;
}
loadImage(checkedFiles[0]);
var MAX_WIDTH=1920;
var最大高度=1920;
var=0;
var URL=window.URL | | window.webkitURL;
函数loadImage(文件){
var mime=file.type;
var src=URL.createObjectURL(文件);
var img=新图像();
img.onload=(函数(图像){
返回函数(){
var newHeight=最大宽度;
var newWidth=最大高度;
var canvas=document.createElement(“canvas”);
var ctx=canvas.getContext(“2d”);
clearRect(0,0,canvas.width,canvas.height);
canvas.width=newWidth;
canvas.height=新高度;
ctx.drawImage(图像,0,0,this.width,this.height,0,0,newWidth,newHeight);
revokeObjectURL(this.src);
var dataURI=canvas.toDataURL(mime);
var blob=dataURLToBlob(dataURI);
imagesToUpload.push(blob);
加载++;
如果(已加载
在调整大小和上传时,我想显示一个正在加载的动画。这个过程非常缓慢
我认为问题在于调整画布对象上图像的大小,但我不知道如何解决这个问题
最大图片高度为1920像素,最大图片高度为1920像素
如果有人能给我一个线索就好了