Skip to content

upload(action: BasketAction, file: File): Promise<TFileUploadResponse | null>

The upload method allows to upload files for file additional fields in a basket.

Input parameters

action

action is a mandatory parameter of the BasketAction type that represents the action that we want to perform with a given file.

file

file is a mandatory parameter of the File type which represents a file that we want to operate on.

Returned value

A returned value has a type of Promise<TFileUploadResponse | null> where TFileUploadResponse represents an object of a response returned after a successful file upload.

Example

In this example we make a basketAdditionalFieldsApi call to upload a file from a given additional field of a basket. To do this we also use a get method to get all available additional fields and find the file field. File used here is only for example purposes - in real case scenario you would use a file from the file upload event of an input.

useStorefront(async (storefront) => {
    let basketAdditionalFieldsApi = storefront.getApiSync('basketAdditionalFieldsApi');

    if (!basketAdditionalFieldsApi) {
        const featureSystemApi = this.getApiSync('FeatureSystemApi');
        await featureSystemApi.registerDynamic('basket');

        basketAdditionalFieldsApi = storefront.getApiSync('basketAdditionalFieldsApi');
    }

    const additionalFields = basketAdditionalFieldsApi.get();

    const fileAdditionalField = additionalFields.find((additionalField) => additionalField.fileKey && additionalField.fileName);
    const exampleFile = new File([], 'test.jpg');

    await basketAdditionalFieldsApi.upload(fileAdditionalField.actions.upload, exampleFile);
});

Basket Additional Fields API methods reference

Objects reference

Models reference