How to add an Input File option to Contact form in Dawn theme?

Topic summary

A user successfully added a file input field to their Dawn theme contact form but discovered the form doesn’t send messages with file attachments. The core issue is that Shopify’s default contact forms don’t natively support file uploads — they lack backend functionality to process and email attachments.

Key technical requirements identified:

  • Forms must use enctype="multipart/form-data" attribute
  • Shopify’s built-in email system cannot handle file attachments from theme forms
  • Custom backend code or external services are necessary to process uploaded files

Recommended solutions:

  1. Third-party form builder apps (Form Builder by HulkApps, Powerful Contact Form Builder, Elfsight’s Form Builder) that handle file uploads and email notifications
  2. External form services like Jotform, Typeform, or Google Forms embedded via code
  3. Custom backend solution using cloud storage (Amazon S3, Dropbox, Google Drive) to store files and send download links via email
  4. Simple workaround: Remove file input and ask customers to email attachments separately with reference numbers

The discussion remains open with no implementation confirmed by the original poster.

Summarized with AI on October 25. AI used: claude-sonnet-4-5-20250929.

Hi!

I figured out how to add the file input into the form with chatgpt however when I tried it it didn’t work. It didn’t send the message to my shopify email. I think there is some deeper problems that I don’t understand.

I was able to make it like so:

Can anyone tell me why it doesn’t send the message with the file? And how to fix it?

Thanks in advance.

Hey @Kylara ,

It looks like you’ve successfully added a file input to your form, but sending form submissions with file attachments in Shopify requires a few additional steps, as Shopify’s default forms don’t natively support file uploads that are emailed.

Follow these Steps:

  1. Shopify Limitations with File Uploads:

-Shopify’s default form functionality doesn’t support sending file uploads directly to your email or storing files through Shopify’s backend.

-To include files in a form submission, you need an external service or app that handles file uploads and integrates with Shopify.

  1. Options to Enable File Uploads:

Here are some ways to enable file uploads in your Shopify form:

Option 1: Use a Third-Party Form Builder App

-Shopify offers various form builder apps (e.g., Form Builder by HulkApps, Powerful Contact Form Builder).

-These apps provide advanced form functionalities, including file uploads and the ability to send files as email attachments.

-They often support automated email notifications with file uploads.

Option 2: Custom Solution with an External Server

-If you have access to a server or backend, you can set up a custom form that allows users to upload files.

-This form would need to store the file on your server or in a cloud storage service (like Amazon S3) and then send an email with a link to the file.

-This option requires some coding knowledge, but it’s a flexible way to control file uploads.

  1. Basic Workaround for Shopify:

If you’re looking for a quick solution, here’s how you could set up a form without file uploads:

  1. Remove the file input from the form on your Shopify theme.
  2. Encourage customers to email additional attachments separately.
  3. Direct them to include specific details (like an order number or form reference) to match their submission with their email attachment.

Let me know if you’d like more guidance on one of these options!

If I was able to help you, please don’t forget to Like and mark it as the Solution!
Best Regard,
Rajat Sharma

hi @Kylara ,

first of all ensure the form supports multiple/form-data.

To handle file uploads, the form must have its enctype attribute set to multipart/form-data. For example:


then check the email configuration

Shopify’s built-in email systems don’t automatically handle file attachments in form submissions. If you’re aiming to receive the uploaded file in an email, you may need to:

Use an External App or Integration: Services like Zapier or Shopify apps like Form Builder can help process form submissions and send emails with attachments.

Use Custom Backend Code: If you have access to a server, consider setting up a custom endpoint to process the form data and email it with the attachment.

Alternative: Save the File to a Cloud Service

As Shopify doesn’t directly support email attachments, you could:

Upload the file to a cloud service like Dropbox or Google Drive.

Include a link to the file in the email.

Got it! If you found my suggestions helpful, please consider liking or marking it as a solution.
Your feedback is appreciated! If you have any more questions or need further assistance, just let me know.

Thanks & Regards
Akshay Bhatt

Hey!

Yeah, adding a file upload input manually to Shopify’s Dawn theme can be tricky. Even if you manage to add the field visually, the built-in contact form handler doesn’t support file attachments by default. So the email gets sent, but without the file. That’s why it looks like it’s “not working,” even though the field is there.

To actually send the uploaded file, you’d have to set up a custom backend handler or use a third-party service to process the form data. Shopify’s email system doesn’t store or forward files through the theme’s contact forms.

A couple of workarounds you might try:

  1. Use a form app that supports file uploads
    Apps like Jotform, Typeform, or Google Forms can handle file inputs and email you with attachments. You can embed them in your Shopify page via code.

  2. Elfsight’s Form Builder app
    This one works directly inside Shopify and has a drag-and-drop builder that includes file upload fields. The file gets stored securely and you get notified via email with a link to download it (or just manage all submissions from the app dashboard).

Both options avoid needing to mess with theme code or worry about email limitations.

Hope that clears up what’s going on!

Cheers,
Elfsight Team