Multi File Upload

Hi, I am hoping to allow user to be able to bulk add files in my glide app but i would like each file to be added in a new row in glide.

Is this possible using the actions and an array?


Just thinking out aloud…

  • Use a Custom Form, and write the uploaded files to a User Specific Multiple Files column
  • Use a multi-row Helper Table to expand the array of files across multiple rows
  • Build an add-row-to-table mutation in each row
  • Use either Call API or a webhook to Make to add the new rows when the form is submitted.
1 Like

Great, I will give it a try. Out of interest, why is it necessary to use a user specific column if each upload would be unique?


Because you might have more than one user adding files at the same time. If you didn’t use a User Specific Column, their uploads would clobber each other.

@Si_Gal - just taking a step back here, can you tell me why you want the files in separate rows?

I ask because the solution I offered involves quite a bit of work, and is expensive in terms of both updates and row count. If the only reason you want them in separate rows is so that you can present them as a list in the layout, then there is a much better way to approach this.

Thanks Darren,

I am assuming that hvaing them in seaparte rows is what I need because each row is linked to various other items.

Each row holds an an architectural drawing and each drawing has multiple associated finishes which live in another table.

Having said that, I have another table that could probably do with that set up. Are you able to share how this works?

When you say each row, do you mean each file?

As it so happens, I have just this afternoon been adding this functionality to an App I am currently working on. Here is how it works:

  • I have a Global Announcements table.
  • App Admins can create Announcements, which may include one or more documents.
  • The documents are stored in a multi-file column.
  • I have a separate Helper Table that is used to arrange the files into rows when the associated Announcement is viewed. This table has enough rows to cater for the maximum number of files I can reasonably expect. In my case 10 rows is more than enough. Here is what that table looks like:

  • Explaining the columns one by one:
    – RowID: obvious :slight_smile:
    – AllRowIDs: Lookup column that targets the RowID column. Returns an array of RowIDs
    – RowIndex: Find Element Index column that returns the Index of each RowID in the RowIDs array. This column effectively gives me Row Numbers.
    – Files: User Specific Multiple-files Column containing the value of the Multiple-files column of the Announcement currently being viewed by the Signed In User
    – svFiles: Single Value Column that applies the value in the previous column to all rows.
    – File: Single Value column that takes RowIndex from start from the previous column. This last column gives me the URL of each uploaded file on separate row, and is used in a Custom Collection on the Announcement details screen.

To use the table:

  • In my User Profiles table, I have a Single Value->First->Whole row column that targets the Helper Table above.
  • In my Announcements collection, I use a Custom Item Click action that does the following:
    – Set Column Values via the Single Value column in the User Profile, setting the value from the Multiple Files column into the User Specific column in the Helper Table
    – Show Details Screen → This item

Hope that helps…

1 Like

Ok thank you. I think that makes sense and I think it could be applied to my situation. My use case is as follows.

A design studio creates drawings, sometimes more than 100 on a project. For example a Builders Works Plan Drawing. Those drawings will be revised a number of times and the builders works plan will go from Revision A to B to C etc.

That builders works plan will have codes on it like WD-01 and that code relates to a project finish that I have stored in another table.

A designer will create a drawing submission on a particular date that will contain a number of or all or the drawings.

I would ideally like the designer to be able to upload all of the drawings for the submission in one go but then have an action that finds the row that corresponds to a particular drawing and attaches the drawing in a multi drawing column. That mukti file column will eventually hold all iterations of a drawing. From Revision A to B to C etc.

Hopefully that makes sens e

Hi Darren,

I managed to get this working using Zapier, however, i had to send the data to Airtable as the last becasue Zapier wouldn’t let me add new rows back into Glide.

Could this be done using a webhook on the last step?

Can you explain why this is the case?

In Zapier, Glide is not listed as having any available options for my final action.

You can use a HTTP call if you’re on Pro+ to bring them back into Glide. I’m not sure what Zapier calls it, but you should be able to make HTTP calls from there.

Hi Darren,

I just wanted to go back to this and ask how to set up a multi-row helper table to expand teh files across multiple rows and how to build an add row to table mutation?