I found a workaround for this issue by intsalling quickly ARR role on my Power Bi Server. In my ARR I configured a farm containing just one static server where I put the filesaver.min.js file. A rewrite rule is created to redirect all requests containing filesaver.min.js to the backend Farm. It s working as a charm for me and I could export to csv files. Hope it helps!
Hi, can you explain this in more detail - I might be being a little thick here but what is the ARR role?
ARR = Application Request Routing, part of IIS. See Using the Application Request Routing Module and
Define and Configure an Application Request Routing Server Farm. Essentially, this is an implementation of that reverse proxy approach where you've got a middleman web server that forwards requests for everything except the missing filesaver.min.js file on to the PBIRS web server.
Caveat: I am by no means an expert in IIS this is my best stab at following Ramzivic's advice on setting up a reverse proxy, and it did work for me.
1) Ensure that you have IIS installed
2) Install Application Request Routing for IIS
3) Download FileSaver.min.js from github
4) Create or choose an existing IIS site and drop FileSaver.min.js somewhere in its folder
5) Ensure that you can reach this resource by URL:
6) On this site in IIS, open URL Rewrite
7) Click “Add Rule(s)” and select “Reverse Proxy”
8) Enter the IP address of your server, ignore outbound rules and hit OK
9) We’re not actually using this rule, but it seems to shake something loose in the system. We delete it by reverting our site to parent setting for URL rewrite:
10) Now, we set up our actual redirection rule on the server level:
11) Configure the rule to take requests for …/externals/filesaver.min.js and route them all to the URL in step 5:
You may need to restart the PBIRS server, clear cached files on your browser, and offer a blood sacrifice to Technos the Ancient: Dark Lord of Configuration Settings, but after that you should be good to go.
To isolate redirection from all the other SSRS crap , you should be able to enter “Yoursite/AnyRandomGarbage/external/filesaver.min.js and the browser should find the filesaver.min.js file you stored in step 4. If this is not the case, something is not working and I don’t know how to help you.
Side note: you can also use this method to make changes to the UI that you couldn't normally make.
You could, for example, copy your sites brand.css file, make some modifications and then reroute all traffic from the old brand.css file to your new edited one. I used this to hide some objects on screen that I think are taking up too much space: