JavaScript判断⽂件是否存在的实例代码
⼀、业务场景
最近⼀直在做和⽂件上传和下载相关的开发,在涉及到下载的时候,我使⽤如下的⽅法进⾏下载
//获取或者赋值⼀个下载路径
let downUrl;
//采⽤如下的⽅式可以直接下载⽂件
window.location.href = downUrl;
业务问题:如果这个⽂件不存在,会出现页⾯跳转的情况;
⽐如:1、刚好⽂件存储服务器挂机了 2、或者刚好⽂件存储服务器上的⽂件被⼈删除了
如上的不正常访问都会导致下载功能出现问题,对⽤户来说不友好的是出现页⾯跳转的情况
这⾥如果我们在下载的时候知道⽂件是否存在就可以很好的解决这个问题了
⼆、解决⽅案
提供两种解决思路
1.后端解决:⼀般⽂件存储在⽂件存储服务器是有⼀个专门的key,看看能否单独有⼀个查询⽂件是否存在的接⼝,即下载前根据⽂件的唯⼀key查询⼀下⽂件是否存在,如果存在则执⾏下载的语句,如果不存在,给出⽤户对应的提⽰
if(){
//如果⽂件存在下载
}else{
//否则给出对应的提⽰
}
2.前端解决:前端⽅法判断⽂件流是否存在
我给出的是vue⾥⾯⽅法的写法,供实践参考
/**
* 判断服务的⽂件是否存在
* @param filepath ⽂件地址
* @param filename
* @returns {Boolean}
*/
isExistFile(filepath, filename){
if(filepath == null || filename == null || filepath === "" || filename ===""){
return false
如何下载javascript}
var xmlhttp;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET",filepath,false);
xmlhttp.send();
adyState === 4){
if(xmlhttp.status === 200) return true; //url存在
else if(xmlhttp.status === 404) return false; //url不存在
else return false;//其他状态
}
}
后续逻辑可以⾃⾏补充,如上可以测试出⽂件流是否存在,如果存在我们进⾏下载,如果不存在那么给出对应的提⽰,这样就解决了⽂件路径不存在跳转到空⽩页⾯的情况
补充:“流”是⼀个抽象的概念,它是对输⼊输出设备的⼀种抽象理解,在java中,对数据的输⼊输出操作都是以“流”的⽅式进⾏的。
总结:
我们遇到业务问题可以从前后端两个⾓度思考,学习分享获取新知,希望有更多的进步 ……
到此这篇关于JavaScript判断⽂件是否存在的⽂章就介绍到这了,更多相关JavaScript判断⽂件存在内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论