上传文件
HTML
<view class="accessory" bindtap="chooseFiletap" data-index="{{index}}" data-status="1">添加附件</view>
JS
选择PDF的方法
wx.chooseMessageFile
调用调用手机上的文件,判断文件的类型,需求上传PDF的文件
//上传pnf文件
chooseFiletap(e) {
let { index, status } = e.currentTarget.dataset;
let that = this;
wx.chooseMessageFile({
count: 10,
type: 'file',
success(res) {
// tempFilePath可以作为img标签的src属性显示图片
const tempFilePaths = res.tempFiles;
let fileName = tempFilePaths[0].name;
let fileNameIndex = fileName.lastIndexOf('.');
let file = fileName.substring(fileNameIndex)
if(file != '.pdf') {
wx.showToast({
icon: 'error',
duration: 1500,
title: '请上传pdf格式的文件'
});
return;
}else {
that.getUploadFile(tempFilePaths[0], index, status)
}
}
})
},
调用服务器
async getUploadFile(file, index, status) {
let that = this;
let data = {
token: '',
img: file.path
}
const res = await uploadrequest({ url: '/upload', data });
let result = JSON.parse(res)
let fileList = []
if (result.code === 200) {
wx.showToast({
title: '上传成功',
icon: 'success',
image: '',
duration: 1500,
mask: true,
success: (result) => {
},
fail: () => { },
complete: () => { }
});
fileList.push({
file_url: result.data.url,
file_name: file.name
})
} else {
wx.showToast({
title: '上传失败',
icon: 'none',
image: '',
duration: 1500,
mask: false,
success: (result) => {
},
fail: () => { },
complete: () => { }
});
}
},
删除文件
//删除文件
handleclearfile(e) {
let { index, status } = e.currentTarget.dataset;
let { report, medicalRecord } = this.data;
if (status == 1) {
medicalRecord[index].pdf_file_url.splice(e.detail, 1)
} else {
report[index].pdf_file_url.splice(e.detail, 1)
}
this.setData({
medicalRecord,
report
})
let params = {
medicalRecord: this.data.medicalRecord,
report: this.data.report
}
//调用父组件的方法
this.triggerEvent("addPhoto", params)
},