因为js的安全机制规定不可以直接用js修改file的value为有效值,所以解决方法是设置file的value为空字符,或者把file的html重新初始化来解决清空的问题。

var file = document.querySelector('input[type=file]');
file.value = ''; // 虽然file的value不能设为有字符的值,但是可以设置为空值
// 或者
file.outerHTML = file.outerHTML; //重新初始化了file的html