原因
浏览器比较注意文件安全,你修改并保存那就是新的文件,浏览器是不具有新文件的访问权限的,除.非你再走一遍选择文件这个流程。
// this.filesList: 文件对象列表
// 合法的文件数量
let filesLens = 0
// 检测文件内容是否发生变更
if (this.filesList) {
_.forEach(this.filesList, v => {
const name = _.get(v, 'name')
// 重点代码在这里
v.raw.arrayBuffer().then(() => {
filesLens++
if (filesLens < _.size(this.filesList)) {
return
}
this.save()
}).catch(() => {
this.$message.warning(`检测到您的文件:${name}文件内容已变更,请删除文件后,再上传最新文件!`)
})
})
}