如何从前端读取图片并处理二进制数据

如何从前端读取图片并处理二进制数据

点点

2021-03-26 21:38 阅读 562 喜欢 0

页面选择图片,然后获取图片,读取字节码,异或一个值后,然后重新生成图片在页面上显示。

通过DataView 对象,获取他的byte数组,然后进行处理,再从Unit8Array组装回来。

核心代码

var reader = new FileReader();
reader.readAsArrayBuffer(file);//file 源文件

reader.onload = function(bf) {
    var content = new DataView(this.result);
    for (var i = 0; i < content.byteLength; i++) {
        var br = content.getInt8(i) ^ coder;
        content.setInt8(i, br);
    }
    var binary = '';
    var bytes = new Uint8Array(content.buffer);
    var len = bytes.byteLength;
    for (var i = 0; i < len; i++) {
        binary += String.fromCharCode(bytes[i]);
    }
    var str = window.btoa(binary); 
     //将图片转成base64字符串
    var img = new Image();
    img.src = 'data:image/png;base64,' + str;
}

转载请注明出处: http://sdxlp.cn/article/weixin3.1.html


如果对你有用的话,请赏给作者一个馒头吧 ...或帮点下页面底部的广告,感谢!!

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
不知道什么时候开始微信成为了一个社交办公软件,支付软件,可以发朋友圈,聊天,通话等;就有很多小伙伴好奇了微信有那么多功能,那微信通话为什么会自动中断呢?
此文章方法原理:微信PC版一定要保证原来的路径目录,且一定要同时拷贝【All Users】目录。原因是【All Users】目录里保存一些配置信息及微信账号头像,如果不拷贝这个目录,只拷贝你的微信ID文件夹,导致的结果就是登录后会重新更新聊天记录文件,最终导致微信聊天记录迁移失败。
现如今微信是现在最常用的社交软件之一,有些小伙伴想知道如何关闭手机微信更新提醒,接下来小编就给小伙伴们介绍一下具体的操作步骤。
智能手机的时代,微信是我们经常使用的社交软件,有时候在工作与生活中免不了的需要视频通话,如果我们的视频通话功能无法使用,接下来小编就教小伙伴们怎么解决这个问题。
中间发现一些图片总是失败,考虑到应该是图片的格式问题,最后兼容了下jpg gif png 这三个格式,基本上能把所有的图片全部转化成功了。现在代码已更新完成。
以前的文章都是有代码的,这里直接给个工具,希望可以帮到各位。
现在微信大至分为电脑版与手机版两种,有时我们会需要将手机版微信上的文件传到电脑版微信,或是将电脑版微信上的文件传到手机版微信上,那么如何实现两者间的文件互传呢?下面小编就来为小伙伴们具体介绍。
微信收款助手可以稳稳的帮助您。让你的生活和工作更方便。