当页面加载到angularJS中时,如何将图像徽标存储在本地存储中。
angular.module('app', [
'ngStorage'
]).
controller('Ctrl', function(
$scope,
$localStorage
){
// here I need to store image
});
});
答案 0 :(得分:2)
试试这个
controller('Ctrl', ['$localStorageProvider', function(
$scope,
$localStorageProvider
){
$http.get("http://someurl.com/someimagepath")
.then(function(response){
$scope.myImage = response.data;
$scope.myImage = window.btoa($scope.myImage); // store it as base64 format
$localStorageProvider.set('MyImage', $scope.myImage);
});
});
});
像
一样使用它<img ng-src="data:image/JPEG;base64,{{myImage}}">
答案 1 :(得分:1)
我们无法将图片直接保存到本地存储空间。我们需要将它隐藏到base64然后保存到本地存储
这是演示:如何将转换图像保存到base 64然后将其保存到本地存储 http://jsfiddle.net/8V9w6/
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// Loop through the FileList and render image files as thumbnails.
for (var i = 0, f; f = files[i]; i++) {
// Only process image files.
if (!f.type.match('image.*')) {
continue;
}
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
// Render thumbnail.
var span = document.createElement('span');
span.innerHTML = ['<img class="thumb" src="', e.target.result,
'" title="', escape(theFile.name), '"/>'].join('');
document.getElementById('list').insertBefore(span, null);
localStorage.setItem('img', e.target.result);
};
})(f);
// Read in the image file as a data URL.
reader.readAsDataURL(f);
}
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
if(localStorage.img) {
var span = document.createElement('span');
span.innerHTML += ['<img class="thumb" src="', localStorage.img,
'" title="test"/>'].join('');
document.getElementById('list').insertBefore(span, null);
}
&#13;
.thumb {
height: 75px;
border: 1px solid #000;
margin: 10px 5px 0 0;
}
&#13;
<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>
&#13;
答案 2 :(得分:0)
您可以将图片转换为base64并将其存储在localstorage
中<canvas id="myCanvas" />
在html文件中创建一个元素
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("preview");
ctx.drawImage(img, 10, 10);
$localStorage.logo = c.toDataURL()
alert(c.toDataURL());