Uniapp上传头像
uniapp
链接: 官网上传文件地址
const upload = () => {
uni.chooseImage({
sourceType: ['album'], //从相册选择
success: chooseImageRes => {
console.log('成功', chooseImageRes);
const tempFilePaths = chooseImageRes.tempFilePaths;
uni.uploadFile({
url: '', //接口地址
filePath: tempFilePaths[0],
name: 'file',
header: {
accessToken: uni.getStorageSync('accessToken'),
platform: 2,
type: 1
},
formData: {
category: 3
},
success: res => {
let data = JSON.parse(res.data);
// 成功:获取到头像
if (data.code == 200) {
uni.showToast({
title: '上传成功',
icon: 'success',
})
let s = state.base + data.path
console.log(s);
state.img = s;
state.sta = true;
} else {
uni.showToast({
title: '上传失败',
icon: 'error',
})
}
}
});
},
fail: err => {
console.log('图片上传失败', 'none');
}
});
后端(node.js + express) 采用 multiparty 文档地址
首先下载
npm install multiparty
在app.js里指定的目录作为静态文件的根目录,在项目的根目录下创建upload文件夹
注册
app.use('/upload',express.static(path.join(__dirname, 'upload')));
接口
router.post('/upload', (req, res) => {
let form = new multiparty.Form();
form.uploadDir = 'upload'
form.parse(req, (err, data, filename) => {
var path = filename.file[0].path;
res.send({ code: 200, msg: '上传成功', path: path })
})
})
这样就ok了,访问图片的时候使用
http://localhost:3000/upload/图片