"Block automatic downloads" feature blocking all means of downloading a client side generated file

In the last month we’re getting reports that downloads on our page aren’t working.

It’s a react app. and in it we build some reports on the client side and then download the file using the file-saver library (https://www.npmjs.com/package/file-saver).

Since it’s a very popular library and uses the most common ways to download a client side generated file, I find it surprising that it gets blocked.
This affects a lot of your users.

Is this expected behaviour? What can we do in this case to get the file to the user, other than rewriting the whole report generation to the backend?

Here’s a simple example: https://codepen.io/Stipancic/pen/LYGGOLR

1 Like

Hello @roa1591793266,

This might be an issue with the file-saver library. You can try registering an issue on their GitHub issue tracker.

Alternatively you can also contact Samsung Developer Support. They might be able to help if it is a Samsung Internet related issue.

Hello everyone,

Samsung Internet blocks automatic downloads by default to prevent malicious downloads that can harm end-users. Hence the file-saver library’s automatic download was blocked.

You can request your users to disable Block automatic downloads by going to Samsung Internet Settings > Sites and Downloads > Toggle to disable Block automatic downloads . After turning off Block automatic downloads your report auto-download feature should begin working.

PS: If you think this answer solved your problem please press the “like” button so that others can find it more easily.

Best Regards,
Shuvo Saha
Samsung Developer Program

My issue is the same as in this thread:

This is exactly what the file-saver library does and this is the way javascript generated files are downloaded.

How are we supposed to do this legitimately, to not be blocked?

For now we told our users to turn off the feature, but need a more viable solution other than rewriting the whole file generation to a backend.

1 Like

Same issue here, works on all other proper phone and desktop browsers.