2017-09-25 179 views
-1

Atm我将简单的字符串保存在本地存储中。但问题是现在我想将视频/图像保存到本地存储。但由于localStorage仅支持字符串,我不明白这将是可能的。将视频保存到本地存储

如果您可以提供代码示例,那就太好了!

<form #userForm = "ngForm" (ngSubmit)="onSubmit(userForm.value)"> 
<div class="form-group"> 
     <label for="exampleInputFile">File input</label> 
     <input type="file" class="form-control-file" id="image" aria-describedby="fileHelp" accept="image/*, video/*" ng name="image" ngModel> 
     <small id="fileHelp" class="form-text text-muted"></small> 
    </div>  
</form> 

附加profile.components.ts

onSubmit(value: any){ 
    localStorage.setItem(this.getId(), JSON.stringify(value)); 
    } 
+1

真正的问题是:你为什么要这样做?您可以在本地存储中存储少量MB(https://stackoverflow.com/questions/2989284/what-is-the-max-size-of-localstorage-values)。如果要将二进制数据保存为字符串,则需要对数据进行编码,例如以base64编码。但仍然不是一个好主意。 – CodeCaster

+0

我正在做这个临时解决方案,因为我不应该在这一点上使用服务器/数据库。稍后我会将本地存储实施移到服务器/数据库。 – Amar

回答

0

https://github.com/ninjatronic/angular-base64

使用这样的事情,将图像转换为Base64为CodeCaster说。 但是这是一个糟糕的主意,而且你可能会用完空间并且无法正常工作。如果我没有记错(仔细检查),但是每个本地存储10mb,因此视频不会保存在那里(也许是微小的低质量视频)。

为什么你暂时不使用本地数据库?

+0

但无论哪种方式,我必须转换为base64?这就是如果我使用本地数据库或本地存储 – Amar