我一直在为我的移动应用程序开发图像缓存系统,目前它正从我的服务器接收base64图像,并将该base64编码保存在文本文件中。每当需要使用图像时,文件都会被加载,<img src=''>
被设置为文件内部的base64编码文本。
我想知道它是否可能,而不是将文件保存为img.txt
并在其中包含base64编码,如果我可以采用base64编码,则将其转换回二进制,并将其作为文本写入文件。
这样的事情:
var image = getBase64FromServer();
var dir = FileSystem.dataDirectory + "image.jpg";
var text = getBinary(image);
var replace = true;
FileSystem.writeFile(directory, text, replace).then(function(success) {
console.log("File created");
}, function(error) {
console.log("Error creating file: " + error);
});
这样我就可以将<img src=''>
设置为这样的内容:
<img src="file:///var/mobile/Containers/Data/Application/x/Library/NoCloud/image.jpg">
并加载,与使用较大的base64替代方案相反。