function getImageBlob(url) {
var r = new XMLHttpRequest();
r.open("GET", url, false);
r.overrideMimeType('text/plain; charset=x-user-defined');
r.send(null);
var blob = binaryToBlob(r.responseText);
blob.name = blob.fileName = url.substring(url.lastIndexOf('/') + 1);
blob.fileType = "image/jpeg"; //"image/octet-stream";
return blob;
};
/**
* 将符合字节流的string转化成Blob对象
*/
function binaryToBlob(data) {
var arr = new Uint8Array(data.length);
for(var i = 0, l = data.length; i < l; i++) {
arr[i] = data.charCodeAt(i);
}
var bb = new Blob([arr.buffer]);
return bb;
};
// 获取上传的图片的宽高
var reader = new FileReader();
//imgdata[0].oUrl=图片路径
var imageBlob = getImageBlob(imgdata[0].oUrl);
reader.readAsDataURL(imageBlob);
reader.onload = function (evt) {
var replaceSrc = evt.target.result;
var imageObj = new Image();
imageObj.src = replaceSrc;
imageObj.onload = function () {
//宽
images['width'] = imageObj.width;
//高
images['height'] = imageObj.height;
}
}
注意:reader.onload是异步操作,所以之后的代码要写在
imageObj.onload = function () {
//宽
images['width'] = imageObj.width;
//高
images['height'] = imageObj.height;
}
}