【发布时间】:2017-04-27 01:09:52
【问题描述】:
我正在尝试获取此应用的经典 ASP 版本以将图像保存到我的服务器:https://github.com/szimek/signature_pad
我尝试了各种使用 Base64 输出的组合,但都没有成功。我搜索了这个网站并用 Google 搜索,但找不到任何对我有意义的内容。
如果有人对如何将签名板的输出转换为服务器端图像有任何想法,我将不胜感激!
JS代码为:
var wrapper = document.getElementById("signature-pad"),
clearButton = wrapper.querySelector("[data-action=clear]"),
savePNGButton = wrapper.querySelector("[data-action=save-png]"),
saveSVGButton = wrapper.querySelector("[data-action=save-svg]"),
canvas = wrapper.querySelector("canvas"),
signaturePad;
// Adjust canvas coordinate space taking into account pixel ratio,
// to make it look crisp on mobile devices.
// This also causes canvas to be cleared.
function resizeCanvas() {
// When zoomed out to less than 100%, for some very strange reason,
// some browsers report devicePixelRatio as less than 1
// and only part of the canvas is cleared then.
var ratio = Math.max(window.devicePixelRatio || 1, 1);
canvas.width = canvas.offsetWidth * ratio;
canvas.height = canvas.offsetHeight * ratio;
canvas.getContext("2d").scale(ratio, ratio);
}
window.onresize = resizeCanvas;
resizeCanvas();
signaturePad = new SignaturePad(canvas);
clearButton.addEventListener("click", function (event) {
signaturePad.clear();
});
savePNGButton.addEventListener("click", function (event) {
if (signaturePad.isEmpty()) {
alert("Please provide signature first.");
} else {
window.open(signaturePad.toDataURL());
}
});
saveSVGButton.addEventListener("click", function (event) {
if (signaturePad.isEmpty()) {
alert("Please provide signature first.");
} else {
window.open(signaturePad.toDataURL('image/svg+xml'));
}
});
我要做的是让“savePNGButton”输出一个实际的 PNG 文件,我可以使用 Classic ASP 将其保存到服务器,而不是原始二进制文件。
【问题讨论】:
-
让我们看看你尝试了什么。对于这样的问题,minimal reproducible example 是必不可少的。请在发帖前查看How to Ask。
-
“服务器端图像”,你的意思是原始二进制数据?从技术上讲,没有“图像”服务器端之类的东西,只有代表它的 BLOB。如果您将来自客户端的图像作为 Base64 编码字符串传递,您需要将该字符串解码为其原始二进制文件,然后可以将其保存到文件、数据库或保存在内存中。
-
这应该会有所帮助 - A: Javascript - Sending Signature-Pad results to Flask。虽然服务器端是烧瓶,但通过 AJAX 实际发布数据客户端是相关的。
-
谢谢!我会试试看的。
-
让我们知道您的进展情况。如果您想出解决方案,请考虑在此处以an answer 发帖,祝您好运。
标签: javascript asp-classic electronic-signature signaturepad