JavaScript example code to determine whether a file exists

JavaScript example code to determine whether a file exists

1. Business Scenario

I have been doing development related to file upload and download recently. When it comes to downloading, I use the following method to download

   //Get or assign a download path let downUrl;
   //Use the following method to directly download files window.location.href = downUrl;

Business problem: If this file does not exist, the page will jump;

For example: 1. The file storage server is down 2. Or the file on the file storage server is deleted

Abnormal access as above will cause problems with the download function, and page jumps are unfriendly to users.

Here, if we know whether the file exists when downloading, we can solve this problem well.

2. Solution

Provide two solutions

1. Backend solution: Generally, files are stored in a file storage server with a dedicated key. See if there is a separate interface to query whether the file exists, that is, before downloading, query whether the file exists based on the unique key of the file. If it exists, execute the download statement. If it does not exist, give the user a corresponding prompt

             if(){
             //If the file exists, download it }else{
             //Otherwise give the corresponding prompt}

2. Front-end solution: The front-end method determines whether the file stream exists

I give you the method writing method in vue for practical reference

            /**
             * Determine whether the service file exists* @param filepath file address* @param filename
             * @returns {Boolean}  
             */
         isExistFile(filepath, filename){
              if(filepath == null || filename == null || filepath === "" || filename ===""){
                return false
               }
              var xmlhttp;
              if (window.XMLHttpRequest){
                xmlhttp=new XMLHttpRequest();
              }else{
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
             }
              xmlhttp.open("GET",filepath,false);
              xmlhttp.send();
              if(xmlhttp.readyState === 4){
              if(xmlhttp.status === 200) return true; //url exists else if(xmlhttp.status === 404) return false; //url does not exist else return false;//other status}
       }

Subsequent logic can be supplemented by yourself. As above, you can test whether the file stream exists. If it exists, we download it. If it does not exist, we give a corresponding prompt. This solves the problem of jumping to a blank page when the file path does not exist.

Supplement: "Stream" is an abstract concept, which is an abstract understanding of input and output devices. In Java, data input and output operations are performed in a "stream" manner.

Summarize:

When we encounter business problems, we can think from both the front-end and back-end perspectives, learn and share to gain new knowledge, and hope to make more progress...

This is the end of this article about JavaScript to determine whether a file exists. For more relevant JavaScript to determine whether a file exists, please search 123WORDPRESS.COM's previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Using javascript to determine if a file exists
  • JavaScript determines whether a file exists instance code
  • Javascript determines whether a file exists (client/server)
  • Code for using fso to determine whether a file exists in JavaScript

<<:  How to recompile Nginx and add modules

>>:  MySQL 5.7.21 decompression version installation and configuration method graphic tutorial

Recommend

Mycli is a must-have tool for MySQL command line enthusiasts

mycli MyCLI is a command line interface for MySQL...

Gojs implements ant line animation effect

Table of contents 1. Gojs Implementation 1. Drawi...

JavaScript implements the pot-beating game of Gray Wolf

1. Project Documents 2. Use HTML and CSS for page...

Summary of CSS usage tips

Recently, I started upgrading my blog. In the proc...

In-depth explanation of iterators in ECMAScript

Table of contents Preface Earlier iterations Iter...

Troubleshooting ideas and solutions for high CPU usage in Linux systems

Preface As Linux operation and maintenance engine...

Detailed explanation of the use of state in React's three major attributes

Table of contents Class Component Functional Comp...

How to install ElasticSearch on Docker in one article

Table of contents Preface 1. Install Docker 2. In...

Mysql query database capacity method steps

Query the total size of all databases Here’s how:...

Solution to the problem that Centos8 cannot install docker

Problem [root@zh ~]# [root@zh ~]# [root@zh ~]# yu...

Batch replace part of the data of a field in Mysql (recommended)

Batch replace part of the data of a field in MYSQ...

Complete steps to install MySQL 5.5 on CentOS

Table of contents 1. Preparation before installat...

The solution record of Vue failing to obtain the element for the first time

Preface The solution to the problem of not being ...

ReactJs Basics Tutorial - Essential Edition

Table of contents 1. Introduction to ReactJS 2. U...