pub struct PublicStorage<'a, R: Runtime>(/* private fields */);
Expand description
API of file storage that is available to other applications and users.
§Examples
fn example(app: &tauri::AppHandle) {
use tauri_plugin_android_fs::AndroidFsExt;
let api = app.android_fs();
let public_storage = api.public_storage();
}
Implementations§
Source§impl<'a, R: Runtime> PublicStorage<'a, R>
impl<'a, R: Runtime> PublicStorage<'a, R>
Sourcepub fn create_file_in_public_app_dir(
&self,
dir: impl Into<PublicDir>,
relative_path: impl AsRef<str>,
mime_type: Option<&str>,
) -> Result<FileUri>
pub fn create_file_in_public_app_dir( &self, dir: impl Into<PublicDir>, relative_path: impl AsRef<str>, mime_type: Option<&str>, ) -> Result<FileUri>
See PublicStorage::create_file_in_public_dir
for description.
This is the same as following:
create_file_in_public_dir(
dir,
format!("{app_name}/{relative_path}"),
mime_type
);
Sourcepub fn create_file_in_public_dir(
&self,
dir: impl Into<PublicDir>,
relative_path_with_subdir: impl AsRef<str>,
mime_type: Option<&str>,
) -> Result<FileUri>
pub fn create_file_in_public_dir( &self, dir: impl Into<PublicDir>, relative_path_with_subdir: impl AsRef<str>, mime_type: Option<&str>, ) -> Result<FileUri>
Creates a new empty file in the specified public directory and returns a persistent read-write URI.
The created file has following features :
- Will be registered with the corresponding MediaStore as needed.
- Always supports remove.
- Not removed when the app is uninstalled.
§Args
-
dir :
The base directory.
When usingPublicImageDir
, use only image MIME types for mime_type, which is discussed below.; using other types may cause errors. Similarly, use only the corresponding media types forPublicVideoDir
andPublicAudioDir
. OnlyPublicGeneralPurposeDir
supports all MIME types. -
relative_path_with_subdir :
The file path relative to the base directory.
If a file with the same name already exists, a sequential number will be appended to ensure uniqueness.
Any missing subdirectories in the specified path will be created automatically.
Please specify a subdirectory in this, such asMyApp/file.txt
orMyApp/2025-2-11/file.txt
. Do not usefile.txt
.
As shown above, it is customary to specify the app name at the beginning of the subdirectory, and in this case, usingPublicStorage::create_file_in_public_app_dir
is recommended. -
mime_type :
The MIME type of the file to be created.
If this is None, MIME type is inferred from the extension of relative_path_with_subdir and if that fails,application/octet-stream
is used.
§Support
Android 10 (API level 29) or higher.
Lower are need runtime request of WRITE_EXTERNAL_STORAGE
. (This option will be made available in the future)
PublicAudioDir::Audiobooks
is not available on Android 9 (API level 28) and lower.
Availability on a given device can be verified by calling PublicStorage::is_audiobooks_dir_available
.
PublicAudioDir::Recordings
is not available on Android 11 (API level 30) and lower.
Availability on a given device can be verified by calling PublicStorage::is_recordings_dir_available
.
Others are available in all Android versions.