takePhoto后保存不了图片
发布于 7 年前 作者 qiang96 836 次浏览 来自 问答

Page({

data: {

tempurl: ‘’

},

takePhoto() {

const ctx = wx.createCameraContext()

ctx.takePhoto({

quality: ‘high’,

success: (res) => {

this.setData({

tempurl: res.tempImagePath

});

console.log(this.data.tempurl);

wx.uploadFile({

url: ‘https://。。。。/images/temp/’,//此处为上传的路径

filePath: this.data.tempurl,

name: ‘file’,

success: function (res) {

var data = res.data;

console.log(res.statusCode);

//do something

}

})

}

})

},

error(e) {

console.log(e.detail)

},

})

此为代码

用takePhoto拍照后返回了一个tempImagePath,用此路径可以在页面上展示出图片,没问题。但上传图片状态码返回403是为什么?

2 回复

找到原因了,是腾讯云上的代码不行,但是用开发者工具上的代码一开始能直接上传图片,但部署上去后server端的代码报     SDK 配置文件(/data/release/sdk.config.json)不存在    

看到有人写:


在腾讯云的微信小程序-开发者工具方案中,开发环境和生产环境均为 wafer2 解决方案,且均为自动部署,当你已经在开发环境和生产环境都开发好并完成调试之后,又开通了 wafer 解决方案,那么问题来了,如何把开发者工具方案迁移到 wafer 解决方案?


问题1:

在开通 wafer 解决方案的时候,腾讯云已经做了初始化工作,有 client 和 server 端的 demo,但是 demo 均为 wafer1,如果 client 不变,使用之前调试好的开发者工具方案的代码,把 server 的代码上传覆盖至业务服务器的 /data/release/php-weapp-demo , 然后 client 请求 server 接口,会报错: SDK 配置文件(data/release/sdk.config.json)不存在。

解决办法:将 /etc/qcloud/sdk.config 复制过来

[业务服务器]

cp /etc/qcloud/sdk.config /data/release/sdk.config.json




但是/etc/qcloud没有这个目录啊,其它地方也没找到。还在研究中

wxfile://tmp_3这种格式的图片,服务端能识别吗?

回到顶部