How to easily attach a large number of files to a form with a ZIP file

This support article is a companion to the documentation pre-loading data into a form, but works with all file types compatible with SurveyCTO.

In SurveyCTO, you cannot attach more than a total of 300 MB of files to a form (that is, no more than 300 MB of CSV files, images, video, audio, and other attachments). Let’s say you have a number of files you would like to use in a form, but their total size is more than 300 MB. For example, let’s say you have four very large CSV files from which you would like to pull data using a form.


These files have a total size of 331.0 MB, which is over the 300 MB limit. Sometimes, you can still fit into a form by compressing them into one or more ZIP files.


The first ZIP file is 'filledcsv_pt0.csv' and 'filledcsv_pt1.csv' compressed together into a ZIP file, and the second ZIP file in 'filledcsv_pt2.csv' and 'filledcsv_pt3.csv' compressed together. Together, these files are less than 300 MB, so can be uploaded to the same form together.

This is also a great way to attach a large number of files. Instead of finding and selecting each individual file, you can compress all files into a single ZIP file, and then attach that ZIP file to your form.

Important notes

  • Each file must be less than 100 MB before compression.
  • Each ZIP file must be less than 100 MB.
  • The total size of the uploaded compressed and uncompressed files must be less than 300 MB. It is okay if the compressed files exceed this when uncompressed, as long as they are compressed when being uploaded.
  • Images do not usually compress more than around 1%.
  • Audio files do not usually compress more than around 3%.
  • Data files, such as CSV files, can become dramatically smaller, by as much as 99% (depending on the data being compressed).
  • Do not compress field plug-ins inside ZIP files. (Field plug-ins are already ZIP files, but do not compress them further.)
  • The initialization of the files will take longer than usual (maybe even a few minutes, depending on the size of the files and the quality of your device), since it will need to decompress the files first. The form will only need to initialize the first time it is opened on the device (both on mobile and web forms); after that, it will open much more quickly. It will need to re-initialize each time you make a change. Whenever a form is update, it is a good idea to open the form on each device, and then close without saving. That way, it will open much more quickly when it is time for the survey.

Pull data from a CSV file compressed into a ZIP file

  1. Note the original name of the CSV file before it was compressed.
  2. Create a calculate field. For the calculation, enter the pulldata() expression you would normally use. For the first parameter, the source, use the original name of the CSV file before it was compressed.
    1. If you are building the expression with the wizard instead of by hand, you will not be able to select the original name of the CSV, but you can edit the expression after it has been created so it has the correct name.
  3. Save and test the form.

To learn more about the pulldata() function, and other function supported by SurveyCTO, consult this help topic.

Do you have thoughts on this support article? We'd love to hear them! Feel free to fill out this feedback form.


Please sign in to leave a comment.