我需要允许用户选择图像,然后将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);
}
Run Code Online (Sandbox Code Playgroud)
image.src具有base64图像数据.
一旦用户点击保存,我将获取所有图像的src,即base64图像数据,并将它们保存到chrome的web sql数据库中.现在的问题是大多数图片都太大了.我想调整它们的大小来说原始大小的1/4,然后将其保存到web sql.有什么办法吗?可能用帆布?
谢谢.
如何在PHP中解码此字符串?
$x = "h\164tp\163\072\057\057\x70r\157\x64\x75\x63t-\x73\x65a\x72\143\150\056\x61\160i\x2e\x63\x6a\x2ec\x6f\x6d\057v\062/\160\x72\157\x64\165\x63t\x2ds\x65\141\162\143\x68\x3f";
Run Code Online (Sandbox Code Playgroud)
它看起来像一个正则表达式URL,但如何阅读它是什么?
谢谢.
我在iPad上有一个功能,我需要按顺序运行3个步骤,比如task1,task2,task3.Task2需要从服务器加载一些数据.所以我需要将task2放入一个单独的后台线程中.
- (IBAction)dbSizeButton:(id)sender {
//Task1......
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
//Task2 .....which go to server and download some stuff and update database.
dispatch_sync(dispatch_get_main_queue(), ^{
//Task3, continue to work on UI
});
});
}
Run Code Online (Sandbox Code Playgroud)
但看起来正在发生的事情是当Task2启动时应用程序经常被杀死.我不确定为什么.我可以看到Task2确实在一个单独的线程中执行.所以我想知道,如果不是这样做的方式,而不是使用GCD,我可以在Task2的末尾向主线程发送消息或通知,以便我可以启动Task3吗?怎么做到这一点?