Crates.io | tauri-plugin-upload |
lib.rs | tauri-plugin-upload |
version | 2.2.1 |
source | src |
created_at | 2023-05-24 21:34:39.827317 |
updated_at | 2024-12-03 13:45:44.614537 |
description | Upload files from disk to a remote server over HTTP. |
homepage | |
repository | https://github.com/tauri-apps/plugins-workspace |
max_upload_size | |
id | 873771 |
size | 96,198 |
Upload files from disk to a remote server over HTTP. Download files from a remote HTTP server to disk.
Platform | Supported |
---|---|
Linux | ✓ |
Windows | ✓ |
macOS | ✓ |
Android | ✓ |
iOS | ✓ |
This plugin requires a Rust version of at least 1.77.2
There are three general methods of installation that we can recommend.
Install the Core plugin by adding the following to your Cargo.toml
file:
src-tauri/Cargo.toml
[dependencies]
tauri-plugin-upload = "2.0.0"
# alternatively with Git:
tauri-plugin-upload = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }
You can install the JavaScript Guest bindings using your preferred JavaScript package manager:
Note: Since most JavaScript package managers are unable to install packages from git monorepos we provide read-only mirrors of each plugin. This makes installation option 2 more ergonomic to use.
pnpm add @tauri-apps/plugin-upload
# or
npm add @tauri-apps/plugin-upload
# or
yarn add @tauri-apps/plugin-upload
# alternatively with Git:
pnpm add https://github.com/tauri-apps/tauri-plugin-upload#v2
# or
npm add https://github.com/tauri-apps/tauri-plugin-upload#v2
# or
yarn add https://github.com/tauri-apps/tauri-plugin-upload#v2
First you need to register the core plugin with Tauri:
src-tauri/src/lib.rs
fn main() {
tauri::Builder::default()
.plugin(tauri_plugin_upload::init())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
Afterwards all the plugin's APIs are available through the JavaScript guest bindings:
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
)
PRs accepted. Please make sure to read the Contributing Guide before making a pull request.
For the complete list of sponsors please visit our website and Open Collective.
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
MIT or MIT/Apache 2.0 where applicable.