A guide to using a JavaScript function to download files from your local machine

How can I improve the download speed of a local file using a JavaScript function?

I have been struggling to get my button to trigger the download process through JavaScript. Here is the code I am currently using, where the function takes in the file name as an argument and the path remains static:

function downloadFile(fileName) {
  var filePath = "C:\\LangsDirectory\\Test\\" + fileName;
  var downloadLink = document.createElement("a");

  downloadLink.href = uri;
  downloadLink.download = filePath;
  document.body.appendChild(downloadLink);
  downloadLink.click();
  document.body.removeChild(downloadLink);
}

Answer №1

The download attribute is not effective for cross-origin URLs, and any URLs with the file: scheme are classified as cross-origin.

A potential solution could involve utilizing a file <input> for the user to choose the file, then using JavaScript to read it, create a Blob, and enable a download option.

In my opinion, it may not be necessary. Since the file is already local, the user can easily transfer or duplicate it to their desired location using a typical file manager.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Utilizing dynamic values for filtering within two nested Ng-repeat directives in AngularJS

For the second ng-repeat, I want to filter based on a dynamic value obtained from the first ng-repeat. Below is my code snippet: <div ng-repeat="all in all | unique: 'Category'"> <p>{{all.Category}}</p> <div class=" ...

The jQuery formvalidator plugin for file validation isn't functioning as expected

I am attempting to validate the file type input using the formvalidator.net plugin, however, I am not seeing any errors. What could be wrong with the code below? It is functioning properly for other types of input. Here is an example of what I am trying: ...

Choose an array containing a random set of n elements and place them into a designated element

I am working on a project where I have a collection of books embedded as iframe elements. My goal is to select three random books from this list and display them within a pre-defined div. However, despite my attempts to use the shuffle method, I am encount ...

Tips for making a slide-in animation that doesn't require adjusting the browser size

As I work on an animation where an img object and text slide in from outside the frame of the webpage upon page load, everything seems to be running smoothly. But there's one glaring issue: right at the start of the page load, the webpage resizes for ...

Why does the node.js app only run from the command prompt and not directly?

I have a basic vbscript that launches two nodejs apps necessary for my server's operations. Dim objShell Set objShell = Wscript.CreateObject("WScript.Shell") objShell.Run "node C:\!webroot\site.name\server\pubsub.js" objShell.Run ...

Triggering JavaScript events using jQuery

I am experiencing an issue with an input element that triggers a modal containing a table when clicked. From this table, you can select a line and a JavaScript function modifies the value of the input element accordingly. However, I am trying to detect the ...

Using regular expressions in JavaScript to extract the value following a colon, without including the colon itself

I've attempted using the tool, along with a similar stackoverflow question, but I'm still unable to solve or comprehend it. I hope someone here can shed some light on what I might be missing. I've provided as detailed and step-by-step examp ...

How to retrieve the mouse coordinates on a Three.js Mesh using WebGL

Struggling to find a solution for the issue below, I could really use some assistance. Apologies for any mistakes in my English. I have set up a map, added a camera, and implemented camera controls for all dimensions. However, every time I try to determi ...

The script fails to work correctly when displaying the data

Last night, I finally cracked the code on how to transfer data from my form on the index page to the content page, and then display the results inside the content div back on the index page. However, a new challenge has emerged. My Javascript function (re ...

When trying to save an image using multer's storage, the error message "ENOENT: file or directory not found" is displayed. It is important to note that symbols are not causing

Whenever I try to save an image using multer's storage feature, I encounter the following issue: [Error: ENOENT: no such file or directory, open 'C:\MAMP\htdocs\Chat Backend\public\images\servers\1596819056816AF ...

Is it possible for jQuery to navigate to a different page, extract around 10 links, and then incorporate them into the original page?

Apologies if the title of my question is unclear, allow me to clarify. I'm interested in exploring the possibility of a specific task and would appreciate guidance on how to proceed. While I haven't attempted it myself yet, I am eager to learn mo ...

Using Three.js to position objects along a curve and rotate them toward the center of a circle

I'm working on developing a sleek VR menu that presents menu items in a curved column below the camera as the user looks down. The challenge is to have the items rotated towards the camera while appearing uniform. Here's what I've come up w ...

What is the best approach for sending a binary image post request to an API using nodejs?

I am receiving the image binary in this manner: axios.get("image-url.jpg") Now, I want to utilize the response to create a new POST request to another server const form = new FormData(); const url = "post-url-here.com"; form.appe ...

The AngularJS ng-repeat filter {visible: true} does not respond to changes in properties

var myApp = angular.module('myApp', ['infinite-scroll']); myApp.controller('DemoController', function($scope, $timeout, $rootElement) { $scope.$rootElement = $rootElement; $scope.$timeout= $timeout; $scope.init = ...

Finding and removing the replicated keys within a JSON array while also retrieving the corresponding JSON path

I have a JSON object that looks like this: {"response":{"result":{"Leads":{"row":[{"LEADID":"849730000000063017","SMOWNERID":"849730000000061001"},{"LEADID":"849730000000063015","SMOWNERID":"849730000000061001","HIII":"hello"},{"LEADID":"84973000000006 ...

Obtain information from a CSV document within Highchart Angular

Is there a way to access and retrieve data from a CSV file stored in the assets folder of my local system? The CSV file contains 5 or 6 columns of information. Important: This is an Angular project, therefore jQuery is not available. ...

The onsubmit button is designed to function with only one specific function

When working with two JavaScript functions, only one error is being displayed instead of both. If I remove one function, the other works fine. But when both functions are present, only one error message is shown. Below is my JavaScript code: functi ...

AngularJS withCredentials Issue causing data not to be transmitted

When using AngularJS, I encountered an issue where the cookie/session was not being shared across domains for my Restful API in a subdomain. To address this problem in Angular, I added the following configuration: app.config(['$httpProvider', fu ...

What is the easiest way to connect to MongoDB and add a new post with just a few lines of code?

Currently, I'm working with express.js and node.js. Can you share a brief snippet of code for connecting to mongo and inserting a post into the database? ...

What's the optimal method to preserve extensive article content with Firebase and Vue.js?

Utilizing Firebase and Vue for my dynamic website, I aim to include a section with numerous article pages structured as follows: <article> <!-- order of these elements will not change --> <h1>Article title</h1> <div id="date ...