Skip to content

[Request] Allow selecting the destination folder/file when downloading #327

Description

@nm-cash

To keep the downloads folder clean, i've been manually moving all of Noras downlaods to a Nora sub-folder inside the main Downloads folder, /storage/emulated/0/Downloads/Nora/*.

Allow selecting the download destination on Android

Feature request

On Android, when downloading an image or video from Nora, the file is currently saved using the native download flow and ends up in the default Downloads directory.

It would be very useful to have an option to choose where the file should be saved, especially for users who keep their media organized into different folders.

Current behavior

The Android WebView already intercepts downloads through DownloadListener in:

modules/nora-view/android/src/main/java/expo/modules/noraview/NoraView.kt

The download callback eventually routes normal downloads through Nora's native download() function. Image downloads from the WebView context menu use the same function.

This means the feature could potentially be implemented centrally in the existing Android download pipeline rather than separately for every supported social network.

Suggested behavior

I would suggest adding an Android download preference such as:

  • Default — keep the current behavior and save to Downloads/.
  • Ask every time — show the Android "Save to..." picker before each download and let the user choose the destination.
  • Custom folder — optionally allow the user to select a default folder once and reuse it for subsequent downloads.

For the "Ask every time" mode, Android's Storage Access Framework (for example ACTION_CREATE_DOCUMENT) seems like a natural fit because it allows the user to choose the destination file/location directly.

The existing DownloadManager flow could remain the default for users who don't want to change anything.

Example

Instead of:

Nora → Download image → Downloads/image.jpg

the user could have:

Nora → Download image → Android "Save to..." picker → Pictures/Social Media/image.jpg

Important considerations

Ideally, the selected destination should work consistently for all download types supported by Nora, including:

  • images;
  • videos;
  • downloads initiated from the WebView;
  • images downloaded through the context menu;
  • blob: downloads.

The blob: case may require special handling because Nora currently routes those through window.Nora.downloadBlob(...).

This would make Nora considerably more flexible for users who maintain an organized local media library, while preserving the current Downloads/ behavior as the default.

I think this would be a useful addition for a future release.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions