Using utils.downloadFile in Mobile

Hmm, @AHerridge I copied the exact code that you provided above and it appears to be working for me on mobile :thinking: It currently only works on my mobile device since we're still working on web support.

Just to confirm, did you remove this part from your screenshot: "data:application/pdf;base64,"? You shouldn't need to include this
image

Can you also confirm you're on the latest version of the app?

1 Like

@Tess, interesting... Yes, the code in the screenshot was too long, so I shortened it to what I posted above (just didn't retake the screenshot). It looks like I'm on the latest version of the Retool Android app. I see a changelog for 12/11/23 and I don't see any prompts to update it on the play store. I just reinstalled the app on my phone and I'm seeing the same behavior (query is successful, but no download pops up).


@Tess, I got the download query to work in the Retool web preview. I had to wrap the base64 string in an object like { base64Binary: "JVBER..." }, which aligns with the documentation for utils.downloadFile(), but I still can't get it to download anything on my Pixel 7.

Updated query:

utils.downloadFile({ base64Binary: "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MQplbmRvYmoKMTQgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL0NJREZvbnRUeXBlMgovQmFzZUZvbnQgL0RlamFWdVNlcmlmCi9DSURTeXN0ZW1JbmZvIDw8IC9SZWdpc3RyeSAoQWRvYmUpIC9PcmRlcmluZyAoSWRlbnRpdHkpIC9TdXBwbGVtZW50IDAgPj4KL0ZvbnREZXNjcmlwdG9yIDEyIDAgUgovQ0lEVG9HSURNYXAgL0lkZW50aXR5Ci9XIFswIFs1OTUgODY1IDU4NyAzMTcgNTk3IDMxNSAxMDIwIDQ3NCA2MzUgXQpdCj4+CmVuZG9iagoxNSAwIG9iago8PCAvTGVuZ3RoIDQyMCA+PgpzdHJlYW0KL0NJREluaXQgL1Byb2NTZXQgZmluZHJlc291cmNlIGJlZ2luCjEyIGRpY3QgYmVnaW4KYmVnaW5jbWFwCi9DSURTeXN0ZW1JbmZvIDw8IC9SZWdpc3RyeSAoQWRvYmUpIC9PcmRlcmluZyAoVUNTKSAvU3VwcGxlbWVudCAwID4+IGRlZgovQ01hcE5hbWUgL0Fkb2JlLUlkZW50aXR5LVVDUyBkZWYKL0NNYXBUeXBlIDIgZGVmCjEgYmVnaW5jb2Rlc3BhY2VyYW5nZQo8MDAwMD4gPEZGRkY+CmVuZGNvZGVzcGFjZXJhbmdlCjIgYmVnaW5iZnJhbmdlCjwwMDAwPiA8MDAwMD4gPDAwMDA+CjwwMDAxPiA8MDAwOD4gWzwwMDQ4PiA8MDA2NT4gPDAwNkM+IDwwMDZGPiA8MDAwOT4gPDAwNTc+IDwwMDcyPiA8MDA2ND4gXQplbmRiZnJhbmdlCmVuZGNtYXAKQ01hcE5hbWUgY3VycmVudGRpY3QgL0NNYXAgZGVmaW5lcmVzb3VyY2UgcG9wCmVuZAplbmQKZW5kc3RyZWFtCmVuZG9iago3IDAgb2JqCjw8IC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMAovQmFzZUZvbnQgL0RlamFWdVNlcmlmCi9FbmNvZGluZyAvSWRlbnRpdHktSAovRGVzY2VuZGFudEZvbnRzIFsxNCAwIFJdCi9Ub1VuaWNvZGUgMTUgMCBSPj4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIApbCjYgMCBSCl0KL0NvdW50IDEKL1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDXQo+PgplbmRvYmoKeHJlZgowIDE3CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAwOSAwMDAwMCBuIAowMDAwMDAwMTIwIDAwMDAwIG4gCjAwMDAwMDYyNjUgMDAwMDAgbiAKMDAwMDAwMDE2OSAwMDAwMCBuIAowMDAwMDAwMjY0IDAwMDAwIG4gCjAwMDAwMDAzMDEgMDAwMDAgbiAKMDAwMDAwNjEyOCAwMDAwMCBuIAowMDAwMDAwNjA3IDAwMDAwIG4gCjAwMDAwMDA5MjcgMDAwMDAgbiAKMDAwMDAwMDQyMSAwMDAwMCBuIAowMDAwMDAwNTg3IDAwMDAwIG4gCjAwMDAwMDA5NDYgMDAwMDAgbiAKMDAwMDAwMTIwNyAwMDAwMCBuIAowMDAwMDA1NDA5IDAwMDAwIG4gCjAwMDAwMDU2NTcgMDAwMDAgbiAKMDAwMDAwNTM4OCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDE3Ci9JbmZvIDEgMCBSCi9Sb290IDIgMCBSCj4+CnN0YXJ0eHJlZgo2MzYzCiUlRU9GCg=="}, "artist-invoice-template.pdf", "pdf")
1 Like

I'm facing the same issue; file download is not working in the mobile application. I've attached the database in a CSV file and the application in a JSON file.
receipt.csv (32.8 KB)
Expenses.json (24.9 KB)

Hi @Edward_Gaviria what type of mobile device?

Hi @Tess, thanks for your response. It also doesn't work in the web preview. My mobile device is a Motorola G84 5G, running Android 13.

Thanks! We are working on two bugs 1) downloadFile not working on web (in mobile apps) and 2) download file not working on android I'll follow up when I get updates for either of them

1 Like

Just to confirm this is an issue on Android Mobile.

Hey all, thanks for reporting - we've identified the issue on Android and will have a fix out soon.

2 Likes

It looks like the Android file download bug is fixed :crossed_fingers: let us know if you're still seeing Android specific issues

1 Like

Hey all, I'm still facing the same issue both on Web Preview and an Android device. The Retool version I'm on is 3.35.0 and I'm using Samsung Galaxy A52s for testing.

Here is a screenshot of the query I'm running

There's no indication of a download happening when I run this query.

Base64 String: "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"

Hi @Omar_Muhammad, can you try replacing 'image/jpeg' with only 'jpeg' and also removing {base64Binary: } so that it is just the base64 string:

utils.downloadFile(yourBase64String, 'fileName','jpeg')

Currently experiencing this issue when trying to download an object that populates the "Key Value" component on mobile. Query runs successfully, but no file downloaded :frowning:

Just doing:

const stats = usersStats.value;
utils.downloadFile(stats, `users_stats-${today.value}`, 'csv');
1 Like

Hi @Milo_Watanabe1, I'm seeing the same issue :disappointed: I'm flagging this to our team & will keep you posted.

1 Like

Thanks! Is there a workaround that you might suggest for the time being? Essentially I have an app with various stats shown and along with the mobile app we'd like to be able to have a shareable file with all the stats.

Hi there, any updates or alternatives for this? Thank you

Hi there,

Our team is still working on this issue, so I don't have a timeline quite yet

Hey @Milo_Watanabe1

Currently, best workaround is use exportData, which supports csv, tsv, json format

I've tried doing it like this but with png. The share menu does appear. I can download it to my iphone. But it's a 0 kb file. Saving it to the photos app doesn't do anything.

utils.downloadFile("data:image/png;base64,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",'barcode.png','png');

I guess it's still not fixed. But I wanted to let others know at least I got an empty file on iOS. On the web version it doesn't do anything.

Hey @Steven_W,

I made a fix for this !

Hopefully gets deployed next week.

1 Like