---
displayed_sidebar: jsClientSidebar
slug: /references/js-client/AdminUploadsResource
---
import ParameterTypes from "@site/src/components/ParameterTypes"
# AdminUploadsResource
This class is used to send requests to [Admin Upload API Routes](https://docs.medusajs.com/api/admin#uploads). All its method
are available in the JS Client under the `medusa.admin.uploads` property.
All methods in this class require [user authentication](AdminAuthResource.mdx#createsession).
The methods in this class are used to upload any type of resources. For example, they can be used to upload CSV files that are used to import products into the store.
Related Guide: [How to upload CSV file when importing a product](https://docs.medusajs.com/modules/products/admin/import-products#1-upload-csv-file).
## Methods
### \_createPayload
#### Parameters
#### Returns
___
### create
Upload a file to a public bucket or storage. The file upload is handled by the file service installed on the Medusa backend.
#### Example
```ts
import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.uploads.create(file).then(({ uploads }) => {
console.log(uploads.length)
})
```
#### Parameters
#### Returns
___
### createProtected
Upload a file to an ACL or a non-public bucket. The file upload is handled by the file service installed on the Medusa backend.
#### Example
```ts
import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.uploads.createProtected(file).then(({ uploads }) => {
console.log(uploads.length)
})
```
#### Parameters
#### Returns
___
### delete
Delete an uploaded file from storage. The file is deleted using the installed file service on the Medusa backend.
#### Example
```ts
import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.uploads
.delete({
file_key,
})
.then(({ id, object, deleted }) => {
console.log(id)
})
```
#### Parameters
`",
"description": "Custom headers to attach to the request.",
"optional": false,
"defaultValue": "{}",
"expandable": false,
"children": []
}
]} />
#### Returns
___
### getPresignedDownloadUrl
Create and retrieve a presigned or public download URL for a file. The URL creation is handled by the file service installed on the Medusa backend.
#### Example
```ts
import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.uploads
.getPresignedDownloadUrl({
file_key,
})
.then(({ download_url }) => {
console.log(download_url)
})
```
#### Parameters
`",
"description": "Custom headers to attach to the request.",
"optional": false,
"defaultValue": "{}",
"expandable": false,
"children": []
}
]} />
#### Returns