I have the following HTML that works great to download files in Chrome and Firefox. I'm using angular to dynamically generate the file name and the UTF-8 body.
<a download="myfile.xls" href="data:text/plain;charset=UTF-8, (UTF-8 body
string)">
To Excel
</a>
The problem is that in IE11 it prompts a box "Do you want to allow this website to open an app on your computer?"
Selecting Allow prompts the Win 10 program picker "You'll need a new app to open this data" with the only option being to search the windows store for an application. When Excel is clearly installed and is the default for the file when navigating through the file system.
Any ideas?
Related
Gurus,
I am using uipath(A Ui Based Automation Tool) to download a file from a website using chrome browser.
I want browser to not prompt before downloading and just download the file in the downloads folder.
From various posts on this website i found that there exists a file called "preferences" which can be modified to solve this problem.
Before coding further i decided to do the changes in the "preferences" file manually on multiple machines, just to make sure that the changes i do in the preferences file reflect in the chrome browser as well .
I am manually modifying values for these 2 options in the preferences file.
download.default_directory
download.prompt_for_download
When i changed value for download.default_directory(Manually in Preferences file), it reflects the same in the chrome browser settings on every machine that i tested on.
But When i change value for download.prompt_for_download, it reflected in the chrome browser settings on some of the machines while on others i found that it does not reflect in the browser and rather the preferences file also seems to have reverted back to previous values.
The steps i followed are as below..
close any running instance of chrome
do the modifications in the preference file and save it
open chrome and go to settings>advance and downloads
i see DreamCatcher pointing to a similiar situation in this post, but no answers there..
I hope I can help solve your issue or at least give you some direction :)
Option#1: Chrome Settings
Wouldn't the problem be solved by changing the settings for downloads in the browser before running the bot? https://support.google.com/chrome/answer/95759?co=GENIE.Platform%3DDesktop&hl=en
Option#2: Do it in UiPath
And the other thing, is that when the prompt (to save the file) appears, couldn't you insert the path of the file that includes the default folder to save + name file + extension? (e.g. on the save path of the prompt, use type text "c:\myDocuments\downloads\filename.ext" ? I've done this in the past with UiPath...get the prompt window, type text and just modify the string being passed to carry the path, file name and extensio...then click "SAVE" or use hotkey "Enter"(if the file requires replacement, these are another 20cents you will have to program in UiPath, but it'd doable).
Option#3: Script
Another option, which I have not done, but see my friends do is creating BAT files to reset certain browser settings or the "registry"...so what they do is that they configure the BAT to do the changes to the browser and they add an activity (in UiPath) to invoke the BAT file every time the browser is opened by the robot.
Links for reference:
https://superuser.com/questions/59465/is-it-possible-to-download-using-the-windows-command-line
https://getadmx.com/?Category=Chrome&Policy=Google.Policies.Chrome::DownloadDirectory
How can I convert json formatted bookmarks file (taken from /Library/Application Support/Google/Chrome/Default/Bookmarks) into an bookmarks html file so Google Chrome can import it?
This has more or less been answered in comments by #Mr.P, but let me formalise:
In my example I have a current (OS root) drive called C:\\. I have a storage drive of F:\\ which has a previous install of Chrome on it which I want to retrieve the bookmarks from.
I did this in Powershell but you could easily do it in file explorer you would just need to either enter the path to <drive_name>:\\users\<account_name>\appdata manually/show hidden folders.
close all instances of Chrome currently running (maybe check in the process monitor to ensure all processes terminated).
navigate to <storage_drive_letter>:\\users\<account_name>\appdata\local\google\chrome\default.
On PowerShell you would select the previous install bookmarks file by entering $books = Get-Item bookmarks. On file explorer you would 'cut'
cd <os_drive_letter>:\\users\<account_name>\appdata\local\google\chrome\default or navigate to this path on file explorer
mv $books . or paste file
open up Chrome again and check the bookmarks: they should be visible all together.
[optional] If you're brave close all Chrome windows once again (potentially save both files somewhere else before you do this) delete all files with 'bookmarks' at the start (you can use gci | where {$_.name -like "bookmarks"} | rm) then reopen the browser. In your filesystem Chrome should have automatically regenerated the bookmarks into one file.
If this doesn't work for other people let me know
If for whatever reason, you only have the JSON output of the Chrome bookmarks file, don't sweat it. Chrome will export bookmarks as HTML and import as HTML. But, sometimes you don't have the luxury of exporting from Chrome because of some issue with your Windows installation. But, you're resourceful and managed to at least get access to your Windows filesystem and backed up your Chrome bookmarks file. But, now how do you import it to Chrome on a working computer without it being in HTML format?
On Windows (this was tested on Win 10), all you have to do is Show Hidden Files and Folders and then paste and overwrite the Bookmarks file at:
C:\Users\YourUserName\AppData\Local\Google\Chrome\User Data\Default
Don't run around in circles trying to convert JSON to HTML if you have a Windows computer. I'm not sure about Mac and Linux, but I'd bet it would work similarly.
Folder location of bookmark (on February 2021)
Chrome: %LOCALAPPDATA%\Google\Chrome\User Data\Default
Edge: %LOCALAPPDATA%\Microsoft\Edge\User Data\Default
Note: "Default" could be something else (e.g. Profile 1) if you are not currently logged in.
Finally i found it
Step 1: Goto Run --> enter - appdata to navigate to this folder
Step 2: You Needs to take backup/copy of your old bookmarks and keep it one place
Step 3 : then you need to navigate to below folder, you can find many profiles of yours.
Navigate to the needed gmail account profile which has your display pic or profile pic
[identify the account you want to import bookmarks]
Go back to the profile 12 [the account which i want to see the bookmarks]
Then replace your old bookmark file here[step 2:which you taken backup bookmark file]
Boooooom! just restart chrome
I think you are making this harder than it is. Save the JASON bookmark.file, first. Go to C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default to save the Bookmark.file somewhere on your computer. Then uninstall the browser (Chrome, for example). Make sure you check the box to remove all history, etc. before you click on Uninstall.
Reinstall the browser, then overwrite the Bookmark.file in C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default
DONE! Bookmarks restored. No need to save bookmark.file or convert it to an HTML file for restoral. Just overwrite the bookmark.file with the one you saved before uninstall of your browser.
If you're worried about modifying existing programs, or overwriting any other bookmarks you've currently got, then I found the following easiest:
Install a portable version of Chrome, for example from portableapps.com
Navigate to App\DefaultData\profile\Default inside the install directory
Replace the Bookmarks file with your json file
Launch Chrome Portable, and export the bookmarks as html
Delete Chrome Portable
I had same problem with opera. I simply copy pasted that json file into new location of new installation.
Just drag the .json to opened firefox window and the run bookmarklet
(create new bookmark, enter code in location)
CODE: SELECT ALL
javascript:(function(){var E=document.getElementsByTagName('PRE')[0],T=E.innerHTML,i=0,r1,r2;t=new Array();while(/("uri":"([^"]*)")/g.exec(T)){r1=RegExp.$1;r2=RegExp.$2;if(/^https?:/.exec(r2)){t[i++]='['+(i)+']:'+r2+'</a>';}}with(window.open().document){for(i=0;t[i];i++)write(t[i]+'');close();}})();
Thanks to dickvl
Clickable links result
Save webpage complete will save .htm
Save .json to desktop, drag browser window smaller from lower right edge till you can drag the .json into opened window., doubleclick titlebar to restore browser full size. In the tab that opens with .json data, click the bookmarklet. Another tab should open with links. You can save as .htm by right click "save page as" web page complete.
Anywhere in the opened window, like dragging a shortcut or html, it'll open
You can also do File > Open File > browse to .json > open
Using JSON
Backup your bookmarks as a JSON file.
Delete the bookmarks you do not want.
Export the ones you do want as an HTML file
Restore your bookmarks with the JSON file
To add mor in the JSON file in a text editor.
Create rows by finding and replacing ',{"title' with 'return{"title' (Don't type the single quotes and, in the replace field, use the appropriate substitute for return: ¶ or \r, for example. My search looked like this: Find: ,{"title Replace: \r,{"title Replace All gave me rows instead of a continuous stream of text.
Save the file as text and open it in a spreadsheet. Each bookmark will have its own row. The site name, URLs, and other data are in columns.
Create a bookmark by copying the URL, pasting it into Firefox, and going to the website.
Drag the URL from the toolbar to the desired location in the sidebar. Change the bookmark title if you don't like the website-assigned title.
Repeat as needed.
I am inserted an href Link to open Excel Sheet(already existing in Server directory) in a JSP page. It is working perfectly fine in local eclipse browser but unable to open the sheet in InternetExplorer (client side). The snippet is as below.
This link will open the Excel Sheet
Now, it is working perfectly fine in InternetExplorer 7 (client side) also, because I have used the server path in workspace of eclipse to store the excel sheet folder , the path is as follows
Server path for File :C:\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\LoginExample\Sheet\SparesUsed.xls.
But when i open and try to edit the excel sheet , it is giving me error "Sparesused.xls is read only". To save a copy ,click ok, then give workbook new name in saveas dialog box".
But I cannot allow the user to change the location of the file using saveas button because this same sheet would be used and open again & again using href link of jsp. i am using Tomcat6.0 version of server
The snippet you posted is incomplete html code.
If the anchor tag is closed properly, browsers will offer to download the file or open it with Excel. This very much depends on the browser and version used. "not working in IE" is a bit too broad, since there are several generations of Internet Explorer active out there that all behave differently in some situations.
IE does not "open" an Excel spreadsheet by default. If anything, it will push the file to load with Excel.
What do you expect to happen?
Browsers don't open Excel files. Some servers support Excel Web apps and you may be able to open the odd Excel file and it will display in the browser, and if you are lucky, you may even be able to change a text value or a number. But be aware that currently this is the exception.
As a general rule: a complex Excel file can not be opened and edited in just any browser of your choice.
Excel is a quite complex application and it cannot be expected that all of Excel's funcionality magically appears in your browser, just because you post a link to an Excel file.
If that is not what you expected to hear, please rephrase your question.
Iam Using This Approach now.
Iam using Server Path to save/store the Excel Sheet , which can be browsed anywhere from client side.
DownLoad Excel Sheet .
Thanks for Help.
I'd like to be able to take a screenshot of a page and give the user the option to save it to their desktop (with a standard OS file save prompt). Is this possible from the Chrome Extension environment? I'm not worried about the image side, more the saving to the user file system.
I've looked at the following pages (among others):
Making a Chrome Extension download a file
http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-support
Take a look at this HTML5Rocks update: http://updates.html5rocks.com/2011/08/Saving-generated-files-on-the-client-side
Here's a demo of this in action: http://eligrey.com/demos/FileSaver.js/
I am developing a web application in which I implemented the help.chm file.
My question is:
How to open the chm help file by using a hyperlink in my web application without a download dialog box?
You can't and you shouldn't. A chm is a file archive that requires a separate viewer, it isn't rendered directly inside the browser.
There are also security considerations with these files, so with certain versions of Windows you cannot open them from a remote (including network) location - they must be opened from the local machine (IIRC this is on WinXP SP2+, Vista and Win 7).
Do you know what is, in fact, a CHM file ? It's a set of html files compiled in a big archive. So, the simplest solution to open those files without showing the "download dialog", is to not package your html files as chm, but to left them on your web site, and make classical static links to them.