--- 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