# Better way to handle multiple file uploads?

**URL:** <https://community.glideapps.com/t/better-way-to-handle-multiple-file-uploads/85072>\
**Category:** Ask for Help\
**Created:** [October 24, 2025, 3:49pm UTC](https://community.glideapps.com/t/better-way-to-handle-multiple-file-uploads/85072 "2025-10-24T15:49:04Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![SoftRight](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/softright/32/83418_2.png) [@SoftRight](https://community.glideapps.com/u/SoftRight)\
**Post date:** [October 24, 2025, 3:49pm UTC](https://community.glideapps.com/t/better-way-to-handle-multiple-file-uploads/85072/1 "2025-10-24T15:49:04Z")

</div>

Hey everyone,

I ran into a UI challenge with the **File Picker**. When multiple documents are uploaded, there’s no way to just click and open them directly from the File Picker itself.

Instead, I have to manually create a separate button for each document if I want users to open or view them, which gets messy fast.

I’d love it to work more like ClickUp (or most other tools), where you can upload several files and simply click any one from a clean list or gallery view.

Has anyone found a good workaround or a smarter way to present multiple files?

Files are such a key part of business tools, this feels like a big missing piece.

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [October 24, 2025, 3:53pm UTC](https://community.glideapps.com/t/better-way-to-handle-multiple-file-uploads/85072/2 "2025-10-24T15:53:06Z")

</div>

Use a Link component.

Alternately you could convert the array into a Joined List, pass them into a Custom AI component and get a little more customized view of the links.

Also, you could go the helper table route to temporarily blow the array out into separate rows to display as a collection, but that’s a little bit more setup.

---

<div class="post-metadata">

**Author:** ![SoftRight](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/softright/32/83418_2.png) [@SoftRight](https://community.glideapps.com/u/SoftRight)\
**Post date:** [October 24, 2025, 4:41pm UTC](https://community.glideapps.com/t/better-way-to-handle-multiple-file-uploads/85072/3 "2025-10-24T16:41:31Z")

</div>

Hey @Jeff_Hager and community,  
Thanks for the suggestions. Here’s what I found and why it didn’t work (yet) in my use-case:

- I tried using the **Link** component, but it shows the raw link instead of a friendly file name or label.
- I also tried converting the file-array into a **Joined List** , but once there was more than one file the links got corrupted, I couldn’t even open the first document.

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [October 24, 2025, 4:54pm UTC](https://community.glideapps.com/t/better-way-to-handle-multiple-file-uploads/85072/4 "2025-10-24T16:54:48Z")

</div>

> [@SoftRight](#):
>
> I tried using the **Link** component, but it shows the raw link instead of a friendly file name or label

Do you have your File Picker set to preserve the file names?

> [@SoftRight](#):
>
> I also tried converting the file-array into a **Joined List** , but once there was more than one file the links got corrupted, I couldn’t even open the first document.

The Joined List is not a link itself. It converts the files array of urls into a comma delimited list of urls that can be easily passed into the Custom AI component as text instead of an array. You have to instruct the AI to parse that comma delimited list of urls into something more readable.

I’ll also offer another suggestion…you could pass the comma delimited joined list into a javascript column and build javascript to turn that comma delimited list into an HTML list that you can display in a rich text component.

---

<div class="post-metadata">

**Author:** ![SoftRight](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/softright/32/83418_2.png) [@SoftRight](https://community.glideapps.com/u/SoftRight)\
**Post date:** [October 24, 2025, 6:02pm UTC](https://community.glideapps.com/t/better-way-to-handle-multiple-file-uploads/85072/5 "2025-10-24T18:02:58Z")

</div>

> [@Jeff\_Hager](#):
>
> Do you have you File Picker set to preserve the file names?

Sorry, it is working correctly.  
It was linking the wrong data column.

> [@Jeff\_Hager](#):
>
> The Joined List is not a link itself. It converts the files array of urls into a comma delimited list of urls that can be easily passed into the Custom AI component as text instead of an array. You have to instruct the AI to parse that comma delimited list of urls into something more readable.
> 
> I’ll also offer another suggestion…you could pass the comma delimited joined list into a javascript column and build javascript to turn that comma delimited list into an HTML list that you can display in a rich text component.

Thank you, I’ll try it out.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [October 24, 2025, 11:44pm UTC](https://community.glideapps.com/t/better-way-to-handle-multiple-file-uploads/85072/6 "2025-10-24T23:44:34Z")

</div>

> [@Jeff\_Hager](#):
>
> I’ll also offer another suggestion…you could pass the comma delimited joined list into a javascript column and build javascript to turn that comma delimited list into an HTML list that you can display in a rich text component.

This is the way I usually do it. I have a pre-built GitHub function for Experimental Code.

`https://thinhdinhlca.github.io/link-to-pills/`

 ![CleanShot 2025-10-25 at 06.44.07](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/0/9/09e7aa7dfc78a2039f166e314ff97e6c251180c9.png)

Direct link to function:

`https://github.com/thinhdinhlca/link-to-pills/blob/main/function.js`

---

<div class="post-metadata">

**Author:** ![SoftRight](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/softright/32/83418_2.png) [@SoftRight](https://community.glideapps.com/u/SoftRight)\
**Post date:** [October 26, 2025, 6:52pm UTC](https://community.glideapps.com/t/better-way-to-handle-multiple-file-uploads/85072/7 "2025-10-26T18:52:03Z")

</div>

@ThinhDinh This is great!

But for some reason it’s not coming up when I log into my app from safari on my Ipad.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [October 27, 2025, 12:26am UTC](https://community.glideapps.com/t/better-way-to-handle-multiple-file-uploads/85072/8 "2025-10-27T00:26:21Z")

</div>

Is it specifically for that device? Does it show up on other types of devices?
