Upload
Upload files from disk to a remote server over HTTP. Download files from a remote HTTP server to disk.
Setup
This plugin requires a Rust version of at least 1.75
Use your project’s package manager to add the dependency:
npm run tauri add upload
yarn run tauri add upload
pnpm tauri add upload
bun tauri add upload
cargo tauri add upload
-
Run
cargo add tauri-plugin-upload
to add the plugin to the project’s dependencies inCargo.toml
. -
Modify
lib.rs
to initialize the plugin:src-tauri/src/lib.rs #[cfg_attr(mobile, tauri::mobile_entry_point)]pb fn run() {tauri::Builder::default()// Initialize the plugin.plugin(tauri_plugin_upload::init()).run(tauri::generate_context!()).expect("error while running tauri application");} -
Install the JavaScript Guest bindings using your preferred JavaScript package manager:
npm install @tauri-apps/plugin-uploadyarn add @tauri-apps/plugin-uploadpnpm add @tauri-apps/plugin-uploadbun add @tauri-apps/plugin-upload
Usage
Once you’ve completed the registration and setup process for the plugin, you can access all of its APIs through the JavaScript guest bindings.
Here’s an example of how you can use the plugin to upload and download files:
import { upload } from '@tauri-apps/plugin-upload';
upload( 'https://example.com/file-upload', './path/to/my/file.txt', (progress, total) => console.log(`Uploaded ${progress} of ${total} bytes`), // a callback that will be called with the upload progress { 'Content-Type': 'text/plain' } // optional headers to send with the request);
import { download } from '@tauri-apps/plugin-upload';
download( 'https://example.com/file-download-link', './path/to/save/my/file.txt', (progress, total) => console.log(`Downloaded ${progress} of ${total} bytes`), // a callback that will be called with the download progress { 'Content-Type': 'text/plain' } // optional headers to send with the request);
© 2024 Tauri Contributors. CC-BY / MIT