thanks for the hint it certainly pointed me in the right direction.
As it turned out it was the request header that was wrong and nothing to do with nginx at all, we have a couple of different deployment scenarios, in one we expose the API services I was having the problem with as part of a larger set of services, the web server start up logic for this particular scenario was missing some configuration tuning of our open api plugin that our swagger ui is driven from.
Essentially by default the open api plugin sets the expected response content to 'application/json' for all endpoints, we override this for endpoints that return images by changing the expected response header to 'image/png', with this in place the browser interprets binary data received correctly when it creates the temporary file for download.
This was actually something I addressed before but seems to have crept back into this deployment scenario possibly when we migrated to .NET core.
Thanks again
Gary