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是为什么?
找到原因了,是腾讯云上的代码不行,但是用开发者工具上的代码一开始能直接上传图片,但部署上去后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没有这个目录啊,其它地方也没找到。还在研究中