工作中上传文件遇到的一个问题,文件名不变的情况下,第一次上传文件正常,修改文件内容后,不刷新页面,再次上传文件(注:刷新页面的话,不存在这个问题)。js报错net::ERR_UPLOAD_FILE_CHANGED,原因:浏览器比较注意文件安全,你修改并保存那就是新的文件,浏览器是不具有新文件的访问权限的,除.非你再走一遍选择文件这个流程。

复现问题:选择文件,这时要不要点提交按钮,去修改选择文件里面的内容,再点击提交按钮。

​HTML 的DOM querySelector()方法可以不需要额外的jQuery等支持,也可以方便的获取DOM元素,语法跟jQuery类似。注意: querySelector() 方法仅仅返回匹配指定选择器的第一个元素。如果你需要返回所有的元素,请使用 querySelectorAll() 方法替代。

// An highlighted block
<script type="text/javascript">
<!--解决方法:使用jQuery库重置输入标签-->
function reInput(){
	document.querySelector("#upload_input").addEventListener("click", 
	function(event){
		$("#upload_input").val("");
	})
}
</script>

<input type="file" name="" id="upload_input" value="" onchange="reInput()"/>

 也可以直接使用下面jQuery的方式 

function reInput(obj) {
    $(obj).click(function () {
        $(this).val("");
    });
}
<input type="file" onchange="reInput(this)"/> 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐