Save a File Image to localstorage HTML

前端 未结 3 2010
傲寒
傲寒 2021-01-03 10:29

I am trying to save a image to localstorage and fetch the same back when is required,am confused on how to save a image as i have referred question related to my same questi

3条回答
  •  自闭症患者
    2021-01-03 11:21

    Usa esta directiva:

    directives.directive('baseSixtyFourInput', ['$window', function($window) {
    return {
        restrict: 'A',
        require: 'ngModel',
        link: function(scope, elem, attrs, ngModel) {
            var fileObject = {};
            scope.readerOnload = function(e) {
                var base64 = _arrayBufferToBase64(e.target.result);
                fileObject.base64 = base64;
                scope.$apply(function() {
                    ngModel.$setViewValue(angular.copy(fileObject));
                });
            };
    
            var reader = new FileReader();
            reader.onload = scope.readerOnload;
    
            elem.on('change', function() {
                var file = elem[0].files[0];
                fileObject.filetype = file.type;
                fileObject.filename = file.name;
                fileObject.filesize = file.size;
                reader.readAsArrayBuffer(file);
            });
    
            //http://stackoverflow.com/questions/9267899/arraybuffer-to-base64-encoded-string
            function _arrayBufferToBase64(buffer) {
                var binary = '';
                var bytes = new Uint8Array(buffer);
                var len = bytes.byteLength;
                for (var i = 0; i < len; i++) {
                    binary += String.fromCharCode(bytes[i]);
                }
                return $window.btoa(binary);
            }
        }
    };
    

    }]);

提交回复
热议问题