The situation
Printed textiles, signs, business cards: the customer supplies the artwork. So far by mail, with the subject "attached" and no order reference.
Personalised goods need a file from the customer. The email route works until somebody sends a 40 MB file.
Printed textiles, signs, business cards: the customer supplies the artwork. So far by mail, with the subject "attached" and no order reference.
A contact form without an upload forces a change of medium. And a mail address as a collection point has neither a size limit nor a folder structure.
The allowed extensions land as a filter in the file dialog - so the wrong thing cannot even be picked.
Two options per upload field: which extensions are allowed and how large the file may be. The browser's file dialog then only offers what fits.
One field for the print file, one for a preview image. The image upload field takes image formats, the file field takes print formats too.
Which folder of the media manager the uploads land in is set in the plugin configuration. That means the same permissions and cleanup routes as for any other media in the shop.
Product assignment on the articles that get printed - directly visible, not collapsed. Whoever has to supply a file should see the field.
The submission names the file, the file itself sits in the media. Print run and job type stand next to it as columns of their own.