Where does Firefox store SQLITE download history
I normally choose my download location and if they're zip I'll delete them after extract.
The problem is currently I can't find any way to get where did I put my downloaded files if it's not there.
BUT!!! In order to know the files aren't there, Firefox has to know where did I put them.
I searched the home folder but nothing named `download` is in the folder.
I asked a question for what should I do https://support.mozilla.org/en-US/que.../1312757 but doesn't get anything remotely useful.
由 cor-el 於
被選擇的解決方法
That data is stored as a "downloads/destinationFileURI" annotation in places.sqlite. I don't know of a way to access this data directly in the user interface.
You can run this code in the Browser Console to retrieve the annotation map and check the "downloads/destinationFileURI" array.
const DESTINATIONFILEURI_ANNO = "downloads/destinationFileURI"; const METADATA_ANNO = "downloads/metaData"; let pageAnnos = await PlacesUtils.history.fetchAnnotatedPages([METADATA_ANNO,DESTINATIONFILEURI_ANNO,]);
- "3-bar" menu button or Tools -> Web Developer
- https://developer.mozilla.org/en-US/docs/Tools/Browser_Console
所有回覆 (3)
選擇的解決方法
That data is stored as a "downloads/destinationFileURI" annotation in places.sqlite. I don't know of a way to access this data directly in the user interface.
You can run this code in the Browser Console to retrieve the annotation map and check the "downloads/destinationFileURI" array.
const DESTINATIONFILEURI_ANNO = "downloads/destinationFileURI"; const METADATA_ANNO = "downloads/metaData"; let pageAnnos = await PlacesUtils.history.fetchAnnotatedPages([METADATA_ANNO,DESTINATIONFILEURI_ANNO,]);
- "3-bar" menu button or Tools -> Web Developer
- https://developer.mozilla.org/en-US/docs/Tools/Browser_Console
cor-el said
That data is stored as a "downloads/destinationFileURI" annotation in places.sqlite. I don't know of a way to access this data directly in the user interface. You can run this code in the Browser Console to retrieve the annotation map and check the "downloads/destinationFileURI" array.const DESTINATIONFILEURI_ANNO = "downloads/destinationFileURI"; const METADATA_ANNO = "downloads/metaData"; let pageAnnos = await PlacesUtils.history.fetchAnnotatedPages([METADATA_ANNO,DESTINATIONFILEURI_ANNO,]);
- "3-bar" menu button or Tools -> Web Developer
- https://developer.mozilla.org/en-US/docs/Tools/Browser_Console
Thanks for the reply. I didn't get the e-mail for some mysterious reasons but just ran across this problem again and remembered I have already asked this.
Anyway, the file is indeed in the `places.sqlite` but the table name is wrong.
It's actually in the `moz_annos`.
I don't write JS though, but I thought you can't access the storage using the frontend JS?
由 palm22180 於
You can run privileged JavaScript code via the Browser Console and this allows to access such data. To enable the command line in the Console:
- select "Enable browser chrome and add-on debugging toolboxes" in the developer tools settings
- https://developer.mozilla.org/en-US/docs/Tools/Settings
I didn't mention a specific table in places.sqlite in my above reply. Yes, moz_annos stores the downloads as a special 'download' annotation defined in moz_anno_attributes (downloads/metaData, downloads/destinationFileURI, downloads/destinationFileName). The entries in moz_annos are linked to moz_places that stores the actual history entry (moz_places.id = moz_annos.place_id).