【发布时间】:2012-06-07 17:16:48
【问题描述】:
我需要允许用户选择图像,然后将 base64 图像数据保存到 Chrome 中的 web sql 数据库。然后在用户上线时,将这些数据上传到服务器。
我可以这样获取图像数据:
function onFileUploadChange(input) {
if (input.files && input.files[0]) {
//alert(input.files.length);
for (i = 0; i < input.files.length; i++) {
previewImage(input.files[i], "ImageTag" + getUniqueID());
}
}
}
function previewImage(file, imgID) {
$("#ImagePreview").append("<img id='" + imgID + "' />");
var reader = new FileReader();
reader.onload = function (e) {
$("#" + imgID)
.attr('src', e.target.result)
.width(200)
.height(200);
};
reader.readAsDataURL(file);
}
image.src 包含 base64 图像数据。
一旦用户点击保存,我将抓取所有图像的 src,即 base64 图像数据,并将它们保存到 chrome 的 web sql 数据库。 现在的问题是大多数图片都太大了。我想将它们调整为原始大小的 1/4,然后将其保存到 web sql。有什么办法吗?可能是画布?
谢谢。
【问题讨论】:
-
Imagemagick 通常用于这些类型的事情,但这是一种服务器端技术。
-
不,我必须在客户端这样做,因为用户可能会在离线模式下挑选照片。
标签: jquery image html canvas resize