貌似 Edge 的 regression bug,這個問題在早期的 IE 也會發生。
bug 描述是:當下載 octet-stream content 的時候,若 URL 超過 2046 這個神秘數字(包含 query string),那會發生 HTTP response 已經收完但卻沒有跳出下載畫面。
由於 request 有送出去也正常的收到 response,只能猜想是 Edge 在反查 URL 找檔名的時候遇到了太長而不繼續處理的問題,而導致後續什麼事情都沒發生。
目前的解法是把 GET 改成 POST,並把 query string 改放到 body 來避掉這個問題。另外一種可能的解法(沒測過),是在 content-disposition 後面附上 filename,可能也會有效果(吧)。
當然 URL 太長本身就很容易遇到問題,例如 Nginx 或是 Apache URL 的長度上限其實隨著版本不同,要小心踩到雷。