1、接入皮卡智能api容易踩坑,切记!!!!!!
2、可以传二进制流的接口不一定要通过request formdata去请求
可以使用uploadFile api去发起请求
uni.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: (res) =>{
// let obj = uploadFile(res.tempFilePaths[0], '3d/1.png')
//之前看接口文档一直用的 request 请求一直会超时 改用uploadFile上传临时文件 相当于上传文件二进制流。
uni.uploadFile({
url: 'https://picupapi.tukeli.net/api/v1/matting2?mattingType=6', //仅为示例,非真实的接口地址
filePath: res.tempFilePaths[0],
name: 'file',
header: {
//这里填入你的api key
'APIKEY': 'YOU_API_KEY'
},
formData: {
'user': 'test'
},
success: (response) => {
const datas = response.data
const fs = wx.getFileSystemManager();
//血坑 返回的数据还要json在转义一遍
const obj1 = JSON.parse(datas)
var times = new Date().getTime();
var codeimg = wx.env.USER_DATA_PATH + '/' + times + '.png';
fs.writeFile({
filePath:codeimg,
data:obj1.data.imageBase64,
encoding: 'base64',
success: (res) =>{
// uploadFile(codeimg, '3d/3.png')
uni.navigateTo({
url:'/pages/createDone/index'
})
}
})
}
});
}
})
博客介绍了在uni-app中遇到接入皮卡智能API时可能出现的超时问题,以及如何通过使用uploadFile接口代替request来上传二进制流,从而避免超时。关键步骤包括选择图片,转换为临时文件路径,使用uploadFile发起请求,并将返回的Base64数据保存为本地文件。
1489

被折叠的 条评论
为什么被折叠?



