2***@qq.com
2***@qq.com
  • 发布:2019-09-06 11:24
  • 更新:2019-09-06 11:24
  • 阅读:1063

【报Bug】使用2.2.2云端打包,或者最新版本编译之后,uni-app的uploadFile回调接受不到任何数据。

分类:uni-app

详细问题描述

使用2.2.2云端打包,或者最新版本编译之后,uni-app的uploadFile回调接受不到任何数据。使用http或者https均不可行,返回的是json数据。上传未成功,却返回状态码200,上传成功。使用php后台。1.9.4版本基座调试正常。打包无法使用此api。IOS正常。

重现步骤

相册选择图片,上传到服务器,服务器回调失败,但提示上传成功。
服务端获取不到$_FILES。

IDE运行环境说明

HBuilderX 1.9.4
HBuilderX 2.2.2
mac 10.13.6

uni-app运行环境说明

安卓版app,自定义组件模式

App运行环境说明

多款安卓手机均测试出现同类问题

附件

前端代码:
ChooseImage() {
let that = this
uni.chooseImage({
count: 4, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: res => {
var filePaths = res.tempFilePaths;
//console.log(filePaths)
//console.log(filePaths[0])
for (var idx in filePaths) {
uni.uploadFile({
url: that.baseUrl + '/?act=uploadimg',
filePath: filePaths[idx],
name: 'image',
success: (rest) => {
console.log(rest.data)
var data = JSON.parse(rest.data)
that.imgdata = that.imgdata.concat(data.filepath)
}
});
}
this.imgList = this.imgList.concat(res.tempFilePaths)
}
});
},

服务端代码:
header('Content-type:application/json');
$resp = array();
if( !in_array($_FILES['image']['type'],array('image/bmp','image/png','image/jpg','image/jpeg','image/gif')) ){
//上传格式错误,支持bmp/png/jpeg/jpg/gif格式!
$resp['errcode'] = '0001';
$resp['errmsg'] = '上传格式错误,支持bmp/png/jpeg/jpg/gif格式!';
echo json_encode($resp);
exit();
}
if($_FILES['image']['size']>2097152 || $_FILES['image']['error']==1){
//上传图片大小超过限制,最大支持2M!
$resp['errcode'] = '0002';
$resp['errmsg'] = '上传图片大小超过限制,最大支持2M!';
echo json_encode($resp);
exit();
}
//保存到本地服务器
$save_dir='../uploads/image/'.date('Ymd').'/';
$save_path='/uploads/image/'.date('Ymd').'/';
@mkdir($save_dir);
$file = $_FILES['image']['name'];
$exts = explode('.',$file);
$filename = uniqid().'.'.$exts[1];
if(!move_uploaded_file($_FILES["image"]["tmp_name"],$save_dir.$filename)){
//上传失败,请检查目录权限!
$resp['errcode'] = '0003';
$resp['errmsg'] = '上传失败,请检查目录权限!';
echo json_encode($resp);
exit();
}
$file = $save_path.$filename;
$resp['errcode'] = '0000';
$resp['filepath'] = $api_domain.$file;
$resp['errmsg'] = '上传成功';
echo json_encode($resp);
exit();

联系方式

251392298@qq.com

2019-09-06 11:24 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复