如何使用javascript将图像转换为字符串
How to convert an image to a string using javascript?
<input type="file" id="picture">
我想将上传到 html 输入的图像转换为字符串。如何使用 JavaScript 来做到这一点?
提前谢谢。
有
<input type="file" id="picture">
您可以向其添加一个事件处理程序,以侦听更改事件(此代码必须位于上述 HTML 之后或在 DOMContentLoaded
事件上注册(
var input = document.getElementById('picture');
input.addEventListener('change', handleFiles, false);
然后,您的handleFiles
事件会将图像绘制到画布中,并从文件中提取 base64 字符串:
function handleFiles(e) {
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var img = new Image();
img.onload = function() {
ctx.drawImage(img, 0, 0);
var base64 = canvas.toDataURL();
console.log(base64);
}
img.src = URL.createObjectURL(e.target.files[0]);
}
运行示例:
var input = document.getElementById('picture');
input.addEventListener('change', handleFiles, false);
function handleFiles(e) {
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var img = new Image();
img.onload = function() {
ctx.drawImage(img, 0, 0);
var base64 = canvas.toDataURL();
document.getElementById('result').value = base64;
}
img.src = URL.createObjectURL(e.target.files[0]);
}
textarea {
width: 350px;
height: 100px;
}
<input type="file" id="picture" />
<br /> <br />
<textarea id="result"></textarea>
如果你想要的是 dataURI 版本,请使用 FileReader
及其readAsDataURL()
方法。
file_input.onchange = function(e) {
var fr = new FileReader();
fr.onload = function() {
output.src = this.result;
}
fr.readAsDataURL(this.files[0]);
};
<input type="file" id="file_input" />
<img id="output" />
如果你只想显示它,那么你可以使用 URL 构造函数:
file_input.onchange = function(e) {
output.src = URL.createObjectURL(this.files[0]);
};
// don't forget to revoke the URLObject when you don't need it anymore
output.onload = function() {
URL.revokeObjectURL(this.src);
}
<input type="file" id="file_input" />
<img id="output" />
相关文章:
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 将JSON插入MongoDB中,自动转换字符串中的日期
- 以点表示法转换字符串以获取对象引用
- 在 JavaScript 中转换字符串 11/28/2014 11:00 AM 到现在
- 为什么在主干的字符串数组中转换字符串数组
- 如何简单地转换字符串
- AngularJS如何转换字符串“;yyyyMMdd”;迄今为止
- 如何防止htmlspecialchar(PHP)转换字符串中的整数
- 刷新Aurelia中的i18n转换字符串插值
- 发布时禁用转换字符串
- 转换字符串货币
- 在javascript ajax调用中转换字符串到数组
- 转换字符串包含时间到24小时的时间,我可以做数学与- jQuery
- IE javascript引擎在转换字符串到日期时呈现NaN
- 如何转换字符串“a,b,c,d……”成a.b (c, d . .);来执行
- 如何在javascript中转换字符串到日期格式
- 如何在嵌套数组中转换字符串数组
- 在javascript中转换字符串日期
- 转换字符串在印度格式的javascript
- Javascript转换字符串到数组的对象