我有一個HTML5移動網絡應用程序(http://app.winetracker.co)和我工作的功能,記住用戶的狀態,當他們回來在他們的瀏覽器(它總是在iOS的Safari瀏覽器會自動刷新)的應用程序。我通過本地存儲來存儲URL和表單字段數據。其中一個表單域數據項是圖像的文件輸入。我通過油畫成功將圖像轉換到Base64並將其存儲到localStorage的。我會如何上傳在localStorage的預先存儲的影像?
function storeTheImage() {
var imgCanvas = document.getElementById('canvas-element'),
imgContext = imgCanvas.getContext("2d");
var img = document.getElementById('image-preview');
// Make sure canvas is as big as the picture BUT make it half size to the file size is small enough
imgCanvas.width = (img.width/4);
imgCanvas.height = (img.height/4);
// Draw image into canvas element
imgContext.drawImage(img, 0, 0, (img.width/4), (img.height/4));
// Get canvas contents as a data URL
var imgAsDataURL = imgCanvas.toDataURL("image/png");
// Save image into localStorage
try {
window.localStorage.setItem("imageStore", imgAsDataURL);
$('.localstorage-output').html(window.localStorage.getItem('imageStore'));
}
catch (e) {
console.log("Storage failed: " + e);
}
}
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#image-preview').attr('src', e.target.result);
storeTheImage();
}
reader.readAsDataURL(input.files[0]);
}
}
$('.file-input').on('change', function() {
readURL(this);
});
看到這樣的jsfiddle:https://jsfiddle.net/tonejac/ceLwh9qp/19/
我會如何轉換localStore圖像dataURL字符串返回到一個圖像文件,所以我可以把它上傳到我的服務器?