JS fetch check if file present without downloading content

Viewed 1318

How do I check whether a file is present at a URL using the JS fetch API, without downloading the file if it is present? Essentially, I just want to retrieve the status code but not the content.

I don't want to download the file because it may be large, and downloading the whole thing would waste bandwidth since I don't care about the contents.

1 Answers

This can be done by setting the request method to HEAD, which requests the headers only.

    fetch("http://localhost:3000/file",
          { method: "HEAD" }
    ).then((res) => {
      if (res.ok) {
          // file is present at URL
      } else {
          // file is not present at URL
      }
    });
Related