HTML5: 直接画图上传图片
HTML5: Drawing and upload image directly
我有一个简单的绘图页面,其中有一个绘图板和一个上传按钮。
我想要的是允许用户通过按下按钮上传他们绘制的图像。
我知道如何从数据库端处理这个问题。
我需要 html 或前端方面的帮助。
我的html
<canvas id="c" width="400" height="280"></canvas>
<a id="download-canvas" href="#">Download</a>
我的JS
(function() {
var canvas = document.getElementById('c'),
cxt = canvas.getContext('2d'),
downloadLink = document.getElementById('download-canvas');
cxt.fillStyle = 'red';
cxt.fillRect(100, 50, 200, 200);
cxt.clearRect(150, 100, 100, 100);
downloadLink.href = canvas.toDataURL();
downloadLink.download = "download.png";
})();
我想把下载按钮变成上传按钮,可以将文件上传到自定义目录。我应该更改哪些部分?
我会添加一个不可见的表单和一个按钮,该按钮在单击时触发不可见文件输入上的单击事件。
你的HTML
<canvas id="c" width="400" height="280"></canvas>
<a id="download-canvas" href="#">Download</a>
<!-- You may add an invisible file input -->
<form action="/url" method="post">
<input type="file" style="display:none">
<button id="upload">Select file</button>
<button type="submit">Send</button>
</form>
你的 JS
(function() {
var canvas = document.getElementById('c'),
cxt = canvas.getContext('2d'),
downloadLink = document.getElementById('download-canvas');
cxt.fillStyle = 'red';
cxt.fillRect(100, 50, 200, 200);
cxt.clearRect(150, 100, 100, 100);
downloadLink.href = canvas.toDataURL();
downloadLink.download = "download.png";
var button = document.getElementById('upload');
button.addEventListener("click", showForm);
})();
function showForm(){
$("#upload").click();
}
我有一个简单的绘图页面,其中有一个绘图板和一个上传按钮。
我想要的是允许用户通过按下按钮上传他们绘制的图像。
我知道如何从数据库端处理这个问题。
我需要 html 或前端方面的帮助。
我的html
<canvas id="c" width="400" height="280"></canvas>
<a id="download-canvas" href="#">Download</a>
我的JS
(function() {
var canvas = document.getElementById('c'),
cxt = canvas.getContext('2d'),
downloadLink = document.getElementById('download-canvas');
cxt.fillStyle = 'red';
cxt.fillRect(100, 50, 200, 200);
cxt.clearRect(150, 100, 100, 100);
downloadLink.href = canvas.toDataURL();
downloadLink.download = "download.png";
})();
我想把下载按钮变成上传按钮,可以将文件上传到自定义目录。我应该更改哪些部分?
我会添加一个不可见的表单和一个按钮,该按钮在单击时触发不可见文件输入上的单击事件。
你的HTML
<canvas id="c" width="400" height="280"></canvas>
<a id="download-canvas" href="#">Download</a>
<!-- You may add an invisible file input -->
<form action="/url" method="post">
<input type="file" style="display:none">
<button id="upload">Select file</button>
<button type="submit">Send</button>
</form>
你的 JS
(function() {
var canvas = document.getElementById('c'),
cxt = canvas.getContext('2d'),
downloadLink = document.getElementById('download-canvas');
cxt.fillStyle = 'red';
cxt.fillRect(100, 50, 200, 200);
cxt.clearRect(150, 100, 100, 100);
downloadLink.href = canvas.toDataURL();
downloadLink.download = "download.png";
var button = document.getElementById('upload');
button.addEventListener("click", showForm);
})();
function showForm(){
$("#upload").click();
}