javascript - 将动画 GIF 编码为 Base64

标签 javascript base64 animated-gif

我一直在寻找一种方法来将动画 GIF 从给定的 URL 编码为 base64,而无需使用 jquery 等外部库(如果绝对必要,我会使用它)。我有 found results将静态图像编码为 base64,但它们都使用 canvas,而 canvas.toDataURL() 只会编码动画 GIF 的单帧。有没有一种方法可以在不使用 canvas 的情况下将动画 GIF(或与此相关的任何图像)编码为 base64?

最佳答案

是的,您可以使用 FileReader.readAsDataURL() (example based on MDN web docs) :

function previewFile() {
  var preview = document.querySelector('img');
  var file    = document.querySelector('input[type=file]').files[0];
  var reader  = new FileReader();

  reader.addEventListener("load", function () {
    var base64gif = reader.result; // your gif in base64 here
    preview.src = base64gif;
    document.getElementById('base64').innerHTML = base64gif;
  }, false);

  if (file) {
    reader.readAsDataURL(file);
  }
}
Upload your gif:<br/>
<input type="file" onchange="previewFile()"><br/>
<div id="base64" style="max-width: 200px; float: left; overflow-wrap: break-word;"></div>
<img src="" height="200" alt="Gif preview...">

关于javascript - 将动画 GIF 编码为 Base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22124454/

相关文章:

automation - 给定一对图像,如何自动创建将一个图像变形为另一个图像的动画序列?

javascript - 将特定 Div 包装在新 Div 中

javascript - 从对象数组 mongoose 中的对象中删除属性

base64 - Sublime Text 2 是否有一些插件可以将图像编码为 base64

python - 你能在 gif 中显示一些动画循环后的静态图像吗?

c# - 在图像控件中显示 GIF 帧

javascript - 在没有框架或没有插件的情况下部分显示没有 Canvas 的图像

javascript - 强制移动屏幕键盘不是绝对位置?

java - 如何将base64字符串转换为sha256?

objective-c - 如何在base64编码格式的字符串编码后省略\r\n?