> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# upload_files_fromurl

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/generated/upload_files_fromurl.rs#L37-L48)
pub async fn [upload\_files\_fromurl](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/upload-files-fromurl.md#method.upload_files_fromurl)( \&self, file\_names: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, urls: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[UploadFilesFromurlResponse](https://docs.kinetica.com/content/api/rust/generated/api/struct.UploadFilesFromurlResponse.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Upload one or more files to KiFS from a URL listUploads one or more files to KiFS.Each file path must reside in a top-level KiFS directory, i.e. one of the directories listed in `/show/directories`. The user must have write permission on the directory. Nested directories are permitted in file name paths. Directories are delineated with the directory separator of ‘/’. For example, given the file path ‘/a/b/c/d.txt’, ‘a’ must be a KiFS directory.These characters are allowed in file name paths: letters, numbers, spaces, the path delimiter of ‘/’, and the characters: ‘.’ ‘-’ ‘:’ ‘\[’ ‘]’ ‘(’ ‘)’ ‘#’ ‘=’.

##### Arguments

<ul>
  <li>`file_names` - An array of full file name paths to be used for the files uploaded to KiFS. File names may have any number of nested directories in their paths, but the top-level directory must be an existing KiFS directory. Each file must reside in or under a top-level directory. A full file name path cannot be larger than 1024 characters.</li>
  <li>`urls` - List of URLs to upload, for each respective file in `file_names`.</li>
</ul>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/generated/upload_files_fromurl.rs#L77-L95)
pub async fn [upload\_files\_fromurl\_with\_opts](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/upload-files-fromurl.md#method.upload_files_fromurl_with_opts)( \&self, file\_names: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, urls: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, options: [UploadFilesFromurlRequestOptions](https://docs.kinetica.com/content/api/rust/generated/api/struct.UploadFilesFromurlRequestOptions.md), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[UploadFilesFromurlResponse](https://docs.kinetica.com/content/api/rust/generated/api/struct.UploadFilesFromurlResponse.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Upload one or more files to KiFS from a URL listUploads one or more files to KiFS.Each file path must reside in a top-level KiFS directory, i.e. one of the directories listed in `/show/directories`. The user must have write permission on the directory. Nested directories are permitted in file name paths. Directories are delineated with the directory separator of ‘/’. For example, given the file path ‘/a/b/c/d.txt’, ‘a’ must be a KiFS directory.These characters are allowed in file name paths: letters, numbers, spaces, the path delimiter of ‘/’, and the characters: ‘.’ ‘-’ ‘:’ ‘\[’ ‘]’ ‘(’ ‘)’ ‘#’ ‘=’.

##### Arguments

<ul>
  <li>`file_names` - An array of full file name paths to be used for the files uploaded to KiFS. File names may have any number of nested directories in their paths, but the top-level directory must be an existing KiFS directory. Each file must reside in or under a top-level directory. A full file name path cannot be larger than 1024 characters.</li>
  <li>`urls` - List of URLs to upload, for each respective file in `file_names`.</li>
  <li>`options` - The optional parameters; any left unset take the server’s defaults.</li>
</ul>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/generated/upload_files_fromurl.rs#L98-L109)
pub async fn [upload\_files\_fromurl\_raw](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/upload-files-fromurl.md#method.upload_files_fromurl_raw)( \&self, request: &[UploadFilesFromurlRequest](https://docs.kinetica.com/content/api/rust/generated/api/struct.UploadFilesFromurlRequest.md), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[UploadFilesFromurlResponse](https://docs.kinetica.com/content/api/rust/generated/api/struct.UploadFilesFromurlResponse.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Sends a pre-built [`UploadFilesFromurlRequest`](https://docs.kinetica.com/content/api/rust/generated/api/struct.UploadFilesFromurlRequest) to the `/upload/files/fromurl` endpoint.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/generated/upload_files_fromurl.rs#L113-L125)
pub async fn [upload\_files\_fromurl\_from\_url](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica/upload-files-fromurl.md#method.upload_files_fromurl_from_url)( \&self, url: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), request: &[UploadFilesFromurlRequest](https://docs.kinetica.com/content/api/rust/generated/api/struct.UploadFilesFromurlRequest.md), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[UploadFilesFromurlResponse](https://docs.kinetica.com/content/api/rust/generated/api/struct.UploadFilesFromurlResponse.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Sends a pre-built [`UploadFilesFromurlRequest`](https://docs.kinetica.com/content/api/rust/generated/api/struct.UploadFilesFromurlRequest) to a specific worker URL, bypassing HA head-node selection. Used for multi-head access.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.