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

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

点点

2021-03-26 21:38 阅读 450 喜欢 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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
加密是通过异或进行加密的,只需要根据文件头计算出异或值,即可进行解密。
办公原因,电脑上微信开着,发现目录的体积是越来越大,特别是群多的,视频分享一堆,还自动下载。
如今微信有手机版与电脑版,手机版的小视频怎么导出到电脑版?相信很多小伙伴都有在使用电脑端微信,其中的小视频如何才能导出呢?导出后又该如何保存呢?方法很简单,下面小编就来为小伙伴们介绍。
呵呵,小编又带小伙伴们涨知识啦!在微信中,为何要绑定管理员微信号呢?安全角度:一些操作如:修改密码、群发信息,需要管理员同意才可操作,其它人可能登录微信后台,但没有权限,没有管理员的授权是无法进行重要信息的操作,那么如何绑定管理员微信号呢?
信语音铃声是可以进行设置成为自己喜欢的歌曲的,并且都是歌曲的副歌部分,就像是手机铃声一样,很多小伙伴想要知道微信语音铃声怎么让对方听到歌曲,下面就让小编给小伙伴们介绍一下微信语音铃声让对方听到歌曲的方法。
先来一个在线解码的地址: ## http://www.sdxlp.cn/tool/wechatdat 好不好用,试试再说。 各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢? 这里会为大家一一道来。
很多的小伙伴,喜欢给自己起一个个性的签名,今天,小编给小伙伴们介绍修改微信中自己个性签名内容的方法,希望对小伙伴们有所帮助。
微信 for Windows聊天记录备份与恢复功能可以将手机微信上的聊天记录备份到电脑。也可将已经备份到电脑上的聊天记录恢复到手机中。