javascript - HTML5相机图像到本地存储

标签 javascript jquery html

我的移动应用程序首先使用html5的相机元素,然后拍照。然后图片会显示在单独的 div 上。我在命名图像然后将图像和标题保存到本地存储时遇到问题。我的尝试是徒劳的,还是有办法做到这一点?

感谢您提供的任何帮助或指导。

最佳答案

要将图像保存在本地存储中,您需要将其转换为 dataURL 字符串。您可以通过 Canvas 元素执行此操作,如下所示。

当您想从本地存储检索图像并显示它时,只需将图像元素的 src 属性设置为 dataURL 字符串即可。

// convert image to localstorage friendly data URL string
function getImageDataURL(img) {
  var canvas = document.createElement('canvas');
  canvas.width = img.width;
  canvas.height = img.height;
  var context = canvas.getContext('2d');
  context.drawImage(img, 0, 0);
  var dataURL = canvas.toDataURL('image/png');
  return dataURL;
}

var image = new Image();
image.onload = function() {
  var dataURL = getImageDataURL(image);
  document.body.innerHTML = dataURL;
  image.src = dataURL;
  document.body.appendChild(image);
};
image.crossOrigin = 'anonymous';
image.src = '//placekitten.com/g/120/120';

关于javascript - HTML5相机图像到本地存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27880984/

相关文章:

javascript - Mocha 测试模拟功能

javascript - 如何在 jQuery Mobile 中正确定位元素?

html - 带表格的文本溢出省略号

PHP 找到多少行

javascript - 根据动态变化的变量改变文本或颜色(KineticJS)

javascript - 为什么此 D3 代码不会在 Jupyter Notebook 中产生任何输出?

javascript - JQuery 在单击另一个元素时隐藏下拉菜单

javascript - Safari 从使用 jQuery 解析的 XML 中删除标签

javascript - Jquery 单选框选中的查找显示先前选中的项目

jquery - link_to_remove_association 没有删除?