收藏
回答

wx.canvasToTempFilePath fileType:“jpg” 。结果为png?

2D画布生成图片返回的链接,使用wx.getImageInfo 读取的type为png,,保存下来的图片位深32位。不应该是jpg,位深24的吗?


回答关注问题邀请回答
收藏

6 个回答

  • 小明同学
    小明同学
    2022-12-21

    请问解决了吗?我现在也遇到了这个问题

    2022-12-21
    有用 1
    回复
  • 九零
    九零
    2022-10-09

    是有这个问题,设置为jpg只是扩展名变为了jpg,实际格式还是png的

    2022-10-09
    有用
    回复
  • A@为理想而奋斗
    A@为理想而奋斗
    2020-11-06

    这个问题是怎么回事,我也遇到了,想导出jpg,但是没有任何改变

    2020-11-06
    有用
    回复
  • Wangzl
    Wangzl
    2020-07-08


    //上传图片到服务器

    upload(path) {

    showLoading({title:'正在加载...'});

    Taro.uploadFile({

    url: baseUrl + '/v1/my/upload',

    filePath: path,

    name: 'upload_file',

    header: {

    "Content-Type": "multipart/form-data",

    'accept': 'application/json',

    'token': Taro.getStorageSync('access_token')

    },

    }).then((res) => {

    let data = JSON.parse(res.data);

    if (data.Status == 0) {

    let file_id = data.Data.file_id;

    this.setState({

    file_id

    })

    this.props.dispatch&&this.props.dispatch({

    type:'my/download',

    payload:{

    token:Taro.getStorageSync('access_token'),

    id:file_id

    },

    callback:(res)=>{

    hideLoading();

    if (res) {

    let base64 = Taro.arrayBufferToBase64(res);

    if (base64) {

    let img_url = 'data:image/png;base64,' + base64;

    console.log(img_url,'img_url') //能拿到base64的的img 就是不显示

    this.setState({

    img_url:img_url

    })

    }

    }

    }

    })

    }

    })

    }

    1原来业务逻辑是 先上传图片,然后后端返回图片id 前端通过 id去下载二进制图片文件,并转换为base64再显示,现在想对上传对图片压缩一些,所以使用canvasToTempFilePath,对图片压缩,整个流程都能走通,但是就是不能正常显示图片。

    2020-07-08
    有用
    回复
  • 灵芝
    灵芝
    2020-05-27

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-05-27
    有用
    回复 6
    查看更多(1)
  • xplee
    xplee
    2020-05-27

    看看基础版本是不是 >= 1.7.0

    2020-05-27
    有用
    回复 1
    • 大虾虾
      大虾虾
      2020-05-27
      2.11的
      2020-05-27
      回复
登录 后发表内容
问题标签