• 小程序的buffer转图片


    项目中小程序遇到大图片生成的需求,需要传递一个参数,然后从服务端获取生成到的长图。微信本身的wx.download()只提供Get请求,不提供POST请求方式下载。所以使用wx.request请求到arraybuffer存入本地文件。


    wx.request({
    
            url: pathUrl,//请求地址
    
            method: 'POST',//POST方式
    
            data: params,//附加参数
    
            responseType: 'arraybuffer',//响应方式
    
            header: {
    
              'content-type': 'application/x-www-form-urlencoded'//我们服务器都是form
    
            },
    
            success(res) {
    
              console.log(res.statusCode)
    
              console.log(res.data)
    
              let fileManager = wx.getFileSystemManager();//获取文件管理器
    
              let filePath = wx.env.USER_DATA_PATH + '/inner.jpg';//设置临时路径
    
              fileManager.writeFile({//获取到的数据写入临时路径
    
                filePath: filePath,//临时路径
    
                encoding: 'binary',//编码方式,二进制
    
                data: res.data,//请求到的数据
    
                success: function(res) {
    
                  console.log(res)
    
                  console.log(filePath)//打印路径
    
                  wx.previewImage({//图片预览
    
                    urls: [filePath],
    
                  })
    
                  wx.hideLoading();
    
                },
    
                fail: function(res) {
    
                  console.log(res)
    
                  wx.hideLoading();
    
                },
    
              });
    
            }
    
          })

    转 : https://www.jianshu.com/p/45e87673d5c6

  • 相关阅读:
    cms建站
    tab切换 原生js
    iOS下JS与原生OC互相调用(总结)
    HBuilder设置沉浸式状态栏显示效果
    JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
    js调用app启动页
    CSS实现单行、多行文本溢出显示省略号(…)
    Java NIO系列教程(七) FileChannel
    Java NIO系列教程(六) Selector
    Java NIO系列教程(五) 通道之间的数据传输
  • 原文地址:https://www.cnblogs.com/fps2tao/p/12610931.html
Copyright © 2020-2023  润新知