前言:
小程序里的webview用不了小程序api,jssdk也没提供,只能使用 input 上传。
上传:
普通上传:
<mt-button size="small" type="primary" style="position: relative;">
上传
<input
type="file"
accept="*"
class="file_source"
@change="chooseFile"
/>
</mt-button>
// 限制类型 accept="image/gif,image/jpeg,image/jpg,image/png,.rar,.zip,.xls,.xlsx,.doc,.docx,.txt,.pdf,.ppt"
methods: {
async chooseFile (e) {
let files = e.target.files
let test = await this.checkUpload(files)
if (test) {
this.uploadFile(files[0])
}
},
checkUpload (files) {
// 校验格式
let allowType = ['jpg',
'png', 'rar', 'txt', 'zip', 'doc', 'ppt', 'xls', 'xlsx', 'pdf', 'docx', 'gif']
// 文件后缀
let testMsg = files[0].name.substring(files[0].name.lastIndexOf('.') + 1)
const isAllow = allowType.includes(testMsg)
if (!isAllow) {
Toast('不支持当前上传文件的格式!')
return false
}
// 校验文件大小
let defaultsSize = 5
let isValid = true
if (files[0].size > defaultsSize * 1024 * 1024) {
isValid = false
alert(&#