uniapp处理二进制图片流

方法一:
<template>
        <view class="">
            <view class="pc-container">
                <image :src="imgurl" mode=""></image>
            </view>
            <view class="basecolor sharetext">长按二维码发送给代理即可邀请加入</view>
        </view>
</template>
<script>
    import $store from '@/store'
    export default {
        data() {      
            return {
                imgurl:''
            }
        },
        onLoad() {
            uni.request({
                url: 'http://api.woaidakele.cn/api/AddQrCode',
                responseType: 'arraybuffer',
                header: {
                    'Authorization': 'Bearer ' + $store.state.app.token
                },
                success: (res) => {
                    const arrayBuffer = res.data
                    this.imgurl = 'data:image/jpeg;base64,'+ uni.arrayBufferToBase64(arrayBuffer)
                }
            });
        },
        methods: {
            
        },
    }
</script>
方法二:
<template>
        <view class="">
            <view class="pc-container">
                <image :src="imgurl" mode=""></image>
            </view>
            <view class="basecolor sharetext">长按二维码发送给代理即可邀请加入</view>
        </view>
</template>
<script>
    import $store from '@/store'
    export default {
        data() {      
            return {
                imgurl:''
            }
        },
        onLoad() {
            uni.request({
                url: 'http://api.woaidakele.cn/api/AddQrCode',
                responseType: 'arraybuffer',
                header: {
                    'Authorization': 'Bearer ' + $store.state.app.token
                },
                success: (res) => {
                    this.imgurl = 'data:image/jpeg;base64,' + this.arrayBufferToBase64(res.data)
                }
            });
        },
        methods: {
            arrayBufferToBase64(buffer) {
                  var binary = ''
                  var bytes = new Uint8Array(buffer)
                  var len = bytes.byteLength
                  for (var i = 0; i < len; i++) {
                    binary += String.fromCharCode(bytes[i])
                  }
                  return window.btoa(binary)
                }
        },
    }
</script>

responseType: 'arraybuffer' 这个响应类型必须要写

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容