在HTML中添加按钮
<button @click="choosePDF">选择PDF文件上传</button>
然后在methods中添加选择文件的方法
methods: {
choosePDF() {
uni.chooseMessageFile({
count: 1, // 一次只能选择一个文件
type: 'file', // 选择文件
extension: ['pdf'], // 限定文件类型为PDF
success: (res) => {
// 获取到文件路径
const filePath = res.tempFiles[0].path;
this.uploadPDF(filePath); // 调用上传方法
},
fail: (err) => {
console.error('选择文件失败:', err);
}
});
},
uploadPDF(filePath) {
uni.uploadFile({
url: 'https://your-backend-url.com/upload', // 后端接口地址
filePath: filePath,
name: 'file', // 后端接收的文件字段名
formData: {
// 可以添加其他表单数据
},
success: (uploadFileRes) => {
console.log('文件上传成功:', uploadFileRes);
// 可以在这里处理上传成功后的逻辑
},
fail: (err) => {
console.error('文件上传失败:', err);
// 可以在这里处理上传失败后的逻辑
},
complete: (res) => {
// 可以在这里处理上传完成后的逻辑,无论成功或失败
// 如果需要显示上传进度,可以使用res.progress
console.log('上传进度:', res.progress);
// 注意:res.progress在uni-app中可能不是直接可用的,
// 具体实现可能需要参考uni-app的官方文档或社区解决方案。
}
});
}
}