收藏
回答

canvas画布保存的图片链接拒绝访问,上传报错

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.canvasToTempFilePath 工具 2.2.3 2.2.3

- 当前 Bug 的表现(可附上截图)



- 预期表现


- 复现路径


- 提供一个最简复现 Demo


js代码

Page({

data: {

url:'',

fileList:[],

canvasHeight:'',

canvasWidth:'',

},

onLoad: function (e) {

var that = this;

wx.chooseImage({

count: 9, // 默认9

sourceType: ['camera'],

sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有

success: function (res) {

// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片

var arr = that.data.fileList

res.tempFilePaths.forEach(function (item) {

arr.push(item)

})

that.setData({

fileList: arr

})


//获取图片详细信息

wx.getImageInfo({

src: res.tempFilePaths[0],

success: (ress) => {

let date =new Date();

let time = date.toLocaleTimeString()

let ctx = wx.createCanvasContext('firstCanvas')

that.setData({

canvasHeight: ress.height,

canvasWidth: ress.width

})

//将图片src放到cancas内,宽高为图片大小

ctx.drawImage(res.tempFilePaths[0], 0, 0, ress.width, ress.height)

//将声明的时间放入canvas

ctx.setFontSize(30) //注意:设置文字大小必须放在填充文字之前,否则不生效

ctx.setFillStyle('blue')

ctx.fillText('拍摄地点', 0, 100)

ctx.fillText('单证类型', 100, 50)

ctx.strokeText(time, 100, 10)

ctx.draw(false, function () {

wx.canvasToTempFilePath({

canvasId: 'firstCanvas',

success: (res) => {

console.log(res.tempFilePath)

wx.uploadFile({

url: '',

filePath: res.tempFilePath[0],

name: 'file',

formData:{},

header: {

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

},

success: function (res) {

console.log(res.data)

},

fail: function (res) {

console.log(res)

},

complete: function (res) {

console.log(res)

}

})


},

fail: (e) => {

console.log(e)

}

})

})

}

})

}

})

}

})


index.html

<canvas class='canvas' style="width:{{canvasWidth}}px;height:{{canvasHeight}}px;top:{{canvasHeight*2}}px;" canvas-id="firstCanvas"></canvas>


index.css

.canvas{

position: fixed;

top: 200%;

left: 0;

/* background: red;*/

width: 100%;

height: 100%;

}


最后一次编辑于  2018-08-24  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • 卢霄霄
    卢霄霄
    2018-08-24

    临时文件路径,本来就直接访问不了,但是可以上传的呢。

    2018-08-24
    赞同 1
    回复
  • keeper
    keeper
    2018-08-24


    上传也报错啊

    而且临时路径以前是可以点开看的


    2018-08-24
    赞同
    回复 1
    • keeper
      keeper
      2018-08-24

      有没有官方的解释一下什么情况啊 ?   在线等   急急急!!!

      2018-08-24
      回复