手册版本 V6.0
GraceRequest upload 文件上传
GraceRequest 的 upload 请求,基于 token 验证,实现更安全的文件上传方式;
兼容平台
.upload() 函数介绍
函数参数 function(url, failPath, fileType, sets, withLoginToken){}
url : api 地址 ( 在 config.js 中配置基础 url 后此处省略基础部分)
failPath : 上传文件路径 ( 一般为一个临时文件路径 )
fileType : 文件类型,image/video/audio
sets : 以对象形式设置 name,header,formData,header 信息,默认已经完成基础设置,不设置此参数传递 {} 即可;
对应 uni-app 官方手册 :
https://uniapp.dcloud.io/api/request/network-file?id=uploadfile
withLoginToken : 是否自动带入用户登录 token 数据;
演示代码
<template>
<view class="gui-padding">
<view class="gui-margin-top">
<text class="gui-text gui-color-gray">上传示例</text>
</view>
<view class="gui-margin-top gui-bg-gray gui-text-center"
style="padding:25rpx;" @tap="chooseImg">
<text class="gui-text-small gui-color-blue">点击这里选择文件</text>
</view>
</view>
</template>
<script>
export default {
data() {
return {}
},
methods:{
chooseImg : function(){
uni.chooseImage({
count:1,
success: async (chooseImageRes) => {
const tempFilePaths = chooseImageRes.tempFilePaths;
// 请求前置函数
uni.gRequest.befor = ()=>{
uni.showLoading({title:'文件上传中 ...'});
}
// 请求后置函数
uni.gRequest.after = ()=>{
uni.hideLoading();
};
try{
let res = await uni.gRequest.upload(
'srequest/upload',
tempFilePaths[0],
'image',
{
// 附带表单数据,不需要此处为空即可
data : {testVar:'test...'},
// 提交文件域 名称, 默认 file
// name : 'img'
}
);
console.log(res);
}catch(e){
// 请求失败
console.log(e);
}
}
});
}
}
}
</script>
<style>
</style