Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change URL.createObjectURL download name?

I'm building an online csv converter that allows a user to upload a csv file and download the processed csv output file. Everything works fine, except the dowloaded file has a name that looks like "6fd665aa-74d7-4b4e-96e1-38aea0cca9e6.csv" (it changes every time) that has nothing to do with the input file's name.

How can I change this downloaded file name ?

const processedStr = convertCSV(text);
const myBlob = new Blob([processedStr], {type : 'text/csv'});
dllink.href = window.URL.createObjectURL(myBlob);
dllink.click();
like image 303
raphaelSeguin Avatar asked Dec 19 '18 07:12

raphaelSeguin


1 Answers

You can try to add an attribute to the dllink variable. It will give a name to the download attribute and hence the file.

const processedStr = convertCSV(text);
const myBlob = new Blob([processedStr], {type : 'text/csv'});
dllink.href = window.URL.createObjectURL(myBlob); 
dllink.setAttribute("download","custom_name.csv"); // Added Line 
dllink.click();
like image 173
Sid Avatar answered Sep 28 '22 01:09

Sid