Reputation: 317
I need to open an "Save As" dialog box where the user clicks on a link in the browser. The save as dialog needs to display the client system folder structure (Dialog similar to save as in word, excel, etc)
I did refer some similar question related to it. But often the downloaded file gets save in the Download path set by the client.
I don't want to use ActiveX control and looking to do the same using Javascript
Is it possible to open a "Save as" dialog using javascript and save the download file to that specific path in the local client system.?
If this is not possible, which most of the article has pointed out. They state that its not possible due to security. But they don't clearly point the reason (what is the security problem that would arise by doing so, If there is a restriction to browsers to not perform such operation etc.,)
Upvotes: 3
Views: 6241
Reputation: 1075427
Is it possible to open a "Save as" dialog using javascript and save the download file to that specific path in the local client system.?
No. You can suggest to the browser that it open the dialog, but you cannot tell it where to default to.
If this is not possible, which most of the article has pointed out. They state that its not possible due to security. But they don't clearly point the reason...
Because people don't read things before they click them. So if I give you a link to a file and want to put is on your drive at C:\Windows\System32\blahblah
and I set that as the default in the file save dialog, sadly a significant percentage of people are going to just blindly click Save without thinking through the implications. Modern operating systems (and old *nix ones) try to protect users from themselves by making certain operations privileged, but still, at least on Windows that's usually just another Yes/No popup users frequently say Yes to without thinking.
So best if the browser picks the user's standard document folder, or one they've specifically, intentionally configured, rather than let the web page say where to default to.
Upvotes: 2