Skip to content

File Uploads

Secure file uploads

Secure file uploads let customers attach artwork, logos, or photos on the product page. Files are stored privately and downloaded from the WooCommerce order screen.

What file uploads do

The File Upload field type lets shoppers attach one or more files to a product before adding it to the cart. Uploads are validated, stored outside the public media library, and linked to the order item after checkout.

  • Available on all plans
  • Configurable allowed file types and max size
  • Private storage with signed admin download URLs
  • Works with classic and block checkout

Set up a file upload field

  1. Go to Smart Add-Ons → Addon Groups and open (or create) a group.
  2. Click Add Field and choose File Upload.
  3. Set the Label (e.g. “Upload your artwork”).
  4. Configure Allowed file types, Max file size, and whether multiple files are allowed.
  5. Optionally mark the field as Required, or hide it with conditional logic until another option is selected.
  6. Assign the group to products or categories, then Save Group.

Field settings

SettingDescription
LabelVisible field title on the product page.
RequiredCustomer must upload a file before add to cart.
Allowed file typesMIME types such as image/webp, image/png, image/jpeg, application/pdf. Prefer WebP for photos and product artwork when possible.
Max file sizePer-file size limit. Also limited by PHP upload_max_filesize / post_max_size.
Multiple filesAllow more than one file on the same field when enabled.
PricingOptional fixed or formula price for the upload option.
Conditional logicShow the upload field only when another option is selected (e.g. “Custom print”).

Storage & security

Uploaded files are stored in a private directory under wp-content/uploads/saue-uploads/. Direct public URLs are blocked. Admins download files through a signed endpoint from the order screen — not from the Media Library.

  • Records are stored in wp_saue_order_uploads (and related order item meta).
  • Upload requests use a short-lived session token via POST /saue/v1/upload.
  • Admin download: GET /saue/v1/orders/{order_id}/items/{item_id}/uploads/{field_id}/download.
  • Developers can filter allowed MIME types with saue_upload_allowed_mime_types.

Download files from an order

  1. Open WooCommerce → Orders and edit the order.
  2. Find the line item that includes the file upload field.
  3. Use the Smart Add-Ons upload download link next to that field.
  4. The file downloads through a signed URL — no public Media Library entry is created.

Server requirements for uploads

  • PHP fileinfo extension (MIME validation)
  • upload_max_filesize and post_max_size larger than your field max size
  • Writable wp-content/uploads/ directory

Troubleshooting

IssueFix
Upload fails immediatelyRaise PHP upload_max_filesize / post_max_size, or lower the field max size.
File type rejectedAdd the MIME type in the field’s Allowed file types list.
No download link on orderConfirm the order completed with the upload field selected, and that your user can manage WooCommerce orders.
Upload works in classic theme but not blocksUpdate WooCommerce to 8.0+, clear blocks cache, and re-activate Smart Add-Ons.