【发布时间】:2013-03-19 02:51:08
【问题描述】:
有没有办法将 HTML Canvas 的内容读取为二进制数据?
目前我有以下 HTML 来显示输入文件及其下方的画布:
<p><button id="myButton" type="button">Get Image Content</button></p>
<p>Input:<input id="fileInput" type="file"/></p>
<p>Canvas<canvas id="myCanvas" width="578" height="200"/></p>
然后我设置了我的输入文件以正确设置画布,这可以正常工作:
$('#fileInput').on('change', function() {
$.each(this.files, function() {
var image = new Image();
image.src = window.URL.createObjectURL(this);
image.onload = function() {
$("canvas").drawImage({
source: image,
x: 50, y: 50,
width: 100,
fromCenter: false
});
};
});
});
我现在需要在单击按钮时从画布中获取二进制数据(Base64 编码),以便将数据推送到服务器...
最终结果是我需要为用户提供选择文件,裁剪/调整大小,然后单击按钮,此时编辑后的图像将上传到服务器(我做不到由于服务器端限制,服务器端裁剪/调整大小...)
任何帮助都会很棒!干杯
【问题讨论】:
标签: javascript html html5-canvas fileapi