So, I've added the Content-length header, but it's not necessary for the download to work. It enhances the download by telling the client how much to expect, and the client can then give a proper progress bar for the download; but the download can still initiate without this. See my added details with the full solution which I found (to be posted shortly).