Check for the type of the file uploaded

Check for the type of the file uploaded

Requirement

Only allow the file upload field to accept file types PDF, XLS, or XLXS. Display an alert message when any other file type is detected.

Use case

A restaurant app contains a form to store supplier receipts as files. When an admin uploads a receipt which is not a PDF, XLS, or XLXS file, an alert will be displayed and form submission will be restricted.
 

Steps to follow

1. Create a form with the following details.
Form
Form Link Name
Field Type
Field Link Name
Field Name
Upload Invoice
Upload_Invoice
File Upload
Invoice
Invoice
 
2. Create workflow with the following details.

The workflow is to be triggered when the admin uploads an invoice in the Upload Invoice form, so we are selecting the Form Event as "User input of a field".
 
3. Save the following Deluge script in the Deluge editor:
  1. //Assign the list of allowed extensions to allowed_list
  2. // Include/exclude required extensions to/from this list
  3. allowed_list = {"pdf","xls","xlsx"};
  4. // Perform validation only if the input field isn't empty
  5. if(input.Invoice != "")
  6. {
  7. // Find the extension of the uploaded input file
  8. ext = input.Invoice.toList(".").get(input.Invoice.toList(".").size() - 1);
  9. // Display an alert message if the extension of the uploaded file doesn't match with any of the values of the allowed_list.
  10. if(!allowed_list.contains(ext))
  11. {
  12.   alert "This file type is not accepted";
  13. }
  14. }
4. Create a workflow with the following details.

To restrict the form from being submitted if invalid values are entered on the form, the same validation needs to be performed before submission. So, we are selecting the Form Event as "Validations on form submission".
 
5. Repeat the validation from step 3 and restricts the form from being submitted if a file with invalid type is uploaded.
allowed_list = {"pdf","xls","xlsx"};
  1. if(input.Invoice != "")
  2. {
  3. ext = input.Invoice.toList(".").get(input.Invoice.toList(".").size() - 1);
  4. if(!allowed_list.contains(ext))
  5. {
  6.   alert "This file type is not accepted";
  7.  
  8. // Restricts the form from being submitted
  9.   cancel submit;
  10. }
  11. }

See how it works

Points to note

  • This tutorial demonstrates the use case with a File Upload field type. The same snippet would also work for the Audio and Video field types.
  • Unlike the other file type fields, applying the input keyword on an Image field doesn’t directly return the file name.
  1. info Input.Image;
Returns the file path in the following HTML format:
<img src = " https://creatorexport.zoho.com/sharedBy/appLinkName/viewLinkName/fieldName/image/1624276872234_SamplePNGImage_100kbmb.png" lowqual = " https://creatorexport.zoho.com/sharedBy/appLinkName/viewLinkName/fieldName/image/1624276872234_710" medqual = " https://creatorexport.zoho.com/sharedBy/appLinkName/viewLinkName/fieldName/image/1624276872234_710" downqual = " https://creatorexport.zoho.com/sharedBy/appLinkName/viewLinkName/fieldName/image/1624276872234_SamplePNGImage_100kbmb.png" border = "0"></img>
To fetch the file extension from the returned value, use the following snippet:
  1. src = input.Image.executeXPath("/img/@src").executeXpath("/src/text()");
  2. //Fetches the value stored against the src attribute
  3. ext = src.toList(".").get(src.toList(".").size() - 1);
  4. // Fetches the extension of the file from the file path

    Zoho CRM Training Programs

    Learn how to use the best tools for sales force automation and better customer engagement from Zoho's implementation specialists.

    Zoho CRM Training
      Redefine the way you work
      with Zoho Workplace

        Zoho DataPrep Personalized Demo

        If you'd like a personalized walk-through of our data preparation tool, please request a demo and we'll be happy to show you how to get the best out of Zoho DataPrep.

        Zoho CRM Training

          Create, share, and deliver

          beautiful slides from anywhere.

          Get Started Now


            Zoho Sign now offers specialized one-on-one training for both administrators and developers.

            BOOK A SESSION









                                        You are currently viewing the help pages of Qntrl’s earlier version. Click here to view our latest version—Qntrl 3.0's help articles.




                                            Manage your brands on social media

                                              Zoho Desk Resources

                                              • Desk Community Learning Series


                                              • Digest


                                              • Functions


                                              • Meetups


                                              • Kbase


                                              • Resources


                                              • Glossary


                                              • Desk Marketplace


                                              • MVP Corner


                                              • Word of the Day


                                                Zoho Marketing Automation

                                                  Zoho Sheet Resources

                                                   

                                                      Zoho Forms Resources


                                                        Secure your business
                                                        communication with Zoho Mail


                                                        Mail on the move with
                                                        Zoho Mail mobile application

                                                          Stay on top of your schedule
                                                          at all times


                                                          Carry your calendar with you
                                                          Anytime, anywhere




                                                                Zoho Sign Resources

                                                                  Sign, Paperless!

                                                                  Sign and send business documents on the go!

                                                                  Get Started Now




                                                                          Zoho TeamInbox Resources



                                                                                  Zoho DataPrep Resources



                                                                                    Zoho DataPrep Demo

                                                                                    Get a personalized demo or POC

                                                                                    REGISTER NOW


                                                                                      Design. Discuss. Deliver.

                                                                                      Create visually engaging stories with Zoho Show.

                                                                                      Get Started Now









                                                                                                          • Related Articles

                                                                                                          • Parse data from uploaded CSV files into fields

                                                                                                            Requirement When users upload CSV files, their data is parsed and the values are inserted into the required fields of another form. Use case An order management app contains two forms, one to store purchased product details, and the other to store ...
                                                                                                          • Extract contents of a ZIP file and email the extracted files

                                                                                                            Requirement   Use Deluge to extract a ZIP file and email the extracted files with the click of a button. Use Case   An HR management application contains three forms: Add Employee, Employee Payslips, and Download My Payslips. The Add Employee form ...
                                                                                                          • Understand file upload field

                                                                                                            The File Upload field enables your users to upload a file while submitting their data through your form. Your users can select the file either from their device (in the device's local storage) or from any of cloud storage services we support. The ...
                                                                                                          • Set display format and field type

                                                                                                            Set display format for formula field Note: The Display format in reports property is available only when the Formula field displays string data. Learn More Navigate to the Edit mode of your app. Open the form builder of the required form. Add or ...
                                                                                                          • Check-in and Check-out Extension

                                                                                                            Overview The Check-in and Check-out extension helps organizations track the attendance and working hours of their employees. This widget typically includes a user interface where employees can register their arrival and departure times, and calculate ...
                                                                                                            Wherever you are is as good as
                                                                                                            your workplace

                                                                                                              Resources

                                                                                                              Videos

                                                                                                              Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                                                                                              eBooks

                                                                                                              Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                                                                                              Webinars

                                                                                                              Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                                                                                              CRM Tips

                                                                                                              Make the most of Zoho CRM with these useful tips.



                                                                                                                Zoho Show Resources