【发布时间】:2022-02-24 19:03:22
【问题描述】:
我的目标是让 iPad 上的用户将图像加载到画布中,然后在 离线
的同时获取 base 64 编码的所述图像JSFiddle
代码
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="../js/libs/jquery-1.7.1.min.js"></script>
<script>
$(document).ready(function(){
//Get the canvas
var canvas = document.getElementById('testCanvas');
var context = canvas.getContext('2d');
$("#testButton").click(function(){
var base_image = new Image();
base_image.src = $("#testImg").val();
//base_image.src = '1.jpg';
//When the image loads
$(base_image).load(function(){
//Resize canvas for image
$("#testCanvas").attr({
width: base_image.width,
height: base_image.height
});
//Draw image on canvas
context.drawImage(base_image, 0, 0);
//Get base64 encoded image
var imageString = canvas.toDataURL("image/jpeg");
$("#imageString").val(imageString);
//alert($("#imageString").val().length);
$("#imageOutput").attr("src", imageString);
});//image load
});//Test Button Click
});//doc ready
</script>
</head>
<body>
<form>
<input type="file" name="testImg" id="testImg" />
</form>
<button id="testButton">Test</button>
<canvas id="testCanvas" style="border: 1px solid black;">Your Browser does not support canvas</canvas>
<br />
<fieldset>
<legend>Image Data</legend>
<textarea id="imageString"></textarea>
<img id="imageOutput" src="" />
</fieldset>
</body>
</html>
我知道图像实际上并不是从<input type='file' /> 加载的,但我认为值得一试。在 Chrome 控制台中,我得到:
不允许加载本地资源
有什么方法可以让我将 iPad 中的图像放入画布元素中?
非常感谢任何帮助、提示或建议!谢谢!
【问题讨论】:
-
使用 JavaScript,无论如何都无法访问本地文件系统。
-
我害怕那个。关于离线时如何完成此任务的任何建议?
-
我假设你不想使用
<input type='file' />? -
不,我愿意!我不知道有什么其他方法可以让 iPad 看照片
标签: javascript html