h5+中uploader不能添加参数数据,要通过task.setRequestHeader('Authorization', token)和task.addData('token', token)
javascript
const task = plus.uploader.createUpload(
apiUrl + '/rlj/uploadimage',
{
method: 'POST',
blocksize: 0,
priority: 100,
timeout: 30000,
// ★★★ 下面的在data和headers中添加的参数都是无效的 ★★★
data:{
'Authorization': getToken()
},
headers: {
'Authorization': getToken()
}
},
function (t, status) {
materialImgUploading = false;
const mask = document.getElementById('materialImgUploadingMask');
if (mask) {
mask.remove();
}
console.log('========== 原料图片上传返回 ==========');
console.log('HTTP状态:', status);
console.log('响应内容:', t && t.responseText ? t.responseText : '');
if (status !== 200) {
mui.toast('图片上传失败:HTTP ' + status);
return;
}
let result = null;
try {
result = JSON.parse(t.responseText || '{}');
} catch (e) {
console.error('图片上传返回JSON解析失败:', e);
mui.toast('图片上传失败:返回数据格式错误');
return;
}
console.log('图片上传结果:', result);
if (result && result.code === 1000 && result.data) {
const url = typeof result.data === 'string'
? result.data
: (
result.data.url ||
result.data.path ||
result.data.img ||
''
);
if (url) {
currentMaterialImgUploaded = url;
mui.toast('图片上传成功');
console.log('服务器图片地址:', url);
return;
}
}
mui.toast(
result && result.message
? result.message
: '图片上传失败'
);
}
);
// ★★★ 通过下面两种方式传 ★★★
task.setRequestHeader('Authorization', token);
//task.addData('token', token);
// ★★★ multipart 文件参数:file ★★★
task.addFile(filePath, {
key: 'file'
});
task.start();