javascript – 如何将图像文件放在json对象中?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何将图像文件放在json对象中?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2231字,纯文字阅读大概需要4分钟。
内容图文
![javascript – 如何将图像文件放在json对象中?](/upload/InfoBanner/zyjiaocheng/714/8dc2cfd100b8493f9eac2a4dd1526835.jpg)
我正在制作一个视频游戏数据库,每个数据库都包含游戏的名称,类型和图像等元素.是否可以将图像放入数据库的json对象?如果没有办法解决这个问题?
解决方法:
我可以想到以两种方式做到这一点:
1.
将文件存储在任何目录(例如dir1)中的文件系统中并重命名,以确保每个文件的名称都是唯一的(可能是时间戳)(比如xyz123.jpg),然后将此名称存储在某个DataBase中.然后在生成JSON时,您将获取此文件名并生成完整的URL(将为http://example.com/dir1/xyz123.png)并将其插入JSON中.
2.
Base 64 Encoding,它基本上是一种用ASCII文本编码任意二进制数据的方法.每3字节数据需要4个字符,最后可能还有一些填充.基本上每6位输入都用64个字符的字母表编码. “标准”字母表使用A-Z,a-z,0-9和/,其中=为填充字符.有URL安全的变种.因此,这种方法将允许您将图像直接放在MongoDB中,同时存储它对图像进行编码并在获取图像时进行解码,它有一些自身的缺点:
> base64编码使文件大小比原始二进制表示大约33%,这意味着更多的数据(这可能在移动网络上非常痛苦)
> IE6或IE7不支持数据URI.
> base64编码数据可能比二进制数据需要更长的处理时间.
将图像转换为DATA URI
A.)画布
将图像加载到Image-Object中,将其绘制到画布并将画布转换回dataURL.
function convertToDataURLviaCanvas(url, callback, outputFormat){
var img = new Image();
img.crossOrigin = 'Anonymous';
img.onload = function(){
var canvas = document.createElement('CANVAS');
var ctx = canvas.getContext('2d');
var dataURL;
canvas.height = this.height;
canvas.width = this.width;
ctx.drawImage(this, 0, 0);
dataURL = canvas.toDataURL(outputFormat);
callback(dataURL);
canvas = null;
};
img.src = url;
}
用法
convertToDataURLviaCanvas('http://bit.ly/18g0VNp', function(base64Img){
// Base64DataURL
});
支持的输入格式
image / png,image / jpeg,image / jpg,image / gif,image / bmp,image / tiff,image / x-icon,image / svg xml,image / webp,image / xxx
B.)FileReader
通过XMLHttpRequest将图像加载为blob,并使用FileReader API将其转换为数据URL.
function convertFileToBase64viaFileReader(url, callback){
var xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.onload = function() {
var reader = new FileReader();
reader.onloadend = function () {
callback(reader.result);
}
reader.readAsDataURL(xhr.response);
};
xhr.open('GET', url);
xhr.send();
}
这种方法
>缺乏浏览器支持
>有更好的压缩
>也适用于其他文件类型.
用法
convertFileToBase64viaFileReader('http://bit.ly/18g0VNp', function(base64Img){
// Base64DataURL
});
内容总结
以上是互联网集市为您收集整理的javascript – 如何将图像文件放在json对象中?全部内容,希望文章能够帮你解决javascript – 如何将图像文件放在json对象中?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。