我的API为GET请求返回Excel(xslx)文件。如果"接受"标头存在,二进制结果被编码/损坏。我可以使用fiddler发送请求,并且需要最少的Headers,一切正常。如果我像浏览器那样添加一个Accept Header:
elem.bind("click", function (e) {
//get object here?
});
结果变大(8kb而不是4kb)并且似乎以某种方式编码。 Fiddler检测到这种编码并要求对其进行解码。解码后,结果再次有效。当我使用chrome浏览器时,它会下载较大的(8kb)文件,而不是解码,因此会损坏。
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
我尝试返回一个文件,一个InputStream和一个字节数组,但它并没有改变它。
我也看过了 Input and Output binary streams using JERSEY?
我没有任何想法,任何想法?