当前位置: 首页 > 知识库问答 >
问题:

来自base64字符串的Javascript图像

令狐嘉运
2023-03-14

一个api给我发送base64字符串,表示有一个图像。我有一个函数将这个字符串传输到blob存储。

function b64toPhoto(b64Data, contentType, sliceSize) {
        contentType = contentType || '';
        sliceSize = sliceSize || 512;

        //var byteCharacters = atob(b64Data);
        var byteCharacters = atob(b64Data.replace(/^data:image\/(png|jpg);base64,/, '')); 

        var byteArrays = [];

        for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
          var slice = byteCharacters.slice(offset, offset + sliceSize);

          var byteNumbers = new Array(slice.length);
          for (var i = 0; i < slice.length; i++) {
            byteNumbers[i] = slice.charCodeAt(i);
          }

          var byteArray = new Uint8Array(byteNumbers);

          byteArrays.push(byteArray);
        }

        var blob = new Blob(byteArrays, { type: contentType });
        return blob;
      }

当我用atob(b64Data)转换字符串时,出现以下错误:

/9j/4AAQSkZJRgABAgAAAQABAAD/7QCuUGhvdG9zaG9wIDMuMAA4Qk....

如何用JavaScript解码?我尝试我的字符串与在线转换器(从base64到image)和工作良好。

谢谢

共有1个答案

殳睿
2023-03-14

您可以简单地使用字符串来显示图像

var image = new Image();
image.src = '<string received>...';
document.body.appendChild(image);
 类似资料:
  • 本文向大家介绍java实现图片转base64字符串 java实现base64字符串转图片,包括了java实现图片转base64字符串 java实现base64字符串转图片的使用技巧和注意事项,需要的朋友参考一下 java 图片转base64字符串、base64字符串转图片,具体内容如下 1. 图片转base64字符串: 2. base64字符串转图片: 3. 测试: 效果图: 以上就是本文的全部内

  • 问题内容: 我想基于我的字符串更改imageview src,我有这样的东西: 当然不行。如何以编程方式更改图像? 问题答案: 用: 注意:不要使用扩展名(例如,“。jpg”)。 示例:图像为“ abcd_36.jpg”

  • 问题内容: 我正在尝试使用jQuery插件即crop.js裁剪/调整用户个人资料图像的大小,该插件通过ajax将用户图像作为base64发送给我的控制器 但我无法解码此base64 字符串作为图像,你们可以指导我如何将base64字符串作为图像保存在服务器上吗? 问题答案: 假设有几件事,您知道输出文件名是什么,并且您的数据以字符串形式出现。我确定您可以修改以下内容以满足您的需求: 请注意,这只是

  • 我正在尝试使用jquery插件裁剪/调整用户配置文件图像的大小,即crop.js,它将用户图像作为base64通过ajax发送到我的控制器

  • 问题内容: 我需要将图像转换为base64字符串,以便可以将图像发送到服务器。是否有任何js文件用于此…?其他如何转换 问题答案: 您可以使用HTML5 : 创建一个画布,将图像加载到其中,然后用于获取base64表示形式(实际上,它是一个URL,但其中包含base64编码的图像)。

  • 问题内容: 我在一个字符串中有Base64编码的二进制数据: 我想创建一个包含此数据的URL并将其显示给用户: 我一直无法弄清楚如何创建BLOB。 在某些情况下,我可以通过使用URL 来避免这种情况: 但是,在大多数情况下,URL太大了。 如何在JavaScript中将Base64字符串解码为BLOB对象? 问题答案: 该函数会将Base64编码的字符串解码为一个新字符串,并为二进制数据的每个字节