Javascript 将PDF发送到后端会中断编码和字符

Javascript 将PDF发送到后端会中断编码和字符,javascript,java,jax-rs,Javascript,Java,Jax Rs,我尝试使用axios发送前端生成的PDF,保存在后端 我似乎不能把所有的类型都弄清楚 axios.post(`http://localhost:8080/pdfs`, data, { responseType: 'arraybuffer', headers: { 'Content-Type': 'application/json', 'Accept':

我尝试使用axios发送前端生成的PDF,保存在后端

我似乎不能把所有的类型都弄清楚

axios.post(`http://localhost:8080/pdfs`,
        data,
        {
            responseType: 'arraybuffer',
            headers: {
                'Content-Type': 'application/json',
                'Accept': 'application/pdf'
            }
        })
Java back:

@POST
@Path("/pdfs")
public void test(final File req,
                 final @Context SecurityContext securityContext) throws IOException, SQLException {

    pdfService.init(req);

}
非常简单的东西。 PDF在其他方面也不错,但是像ö和ä这样的字符被破坏了,甚至有些空格被打印为“ä”

这似乎发生在pdf被发送到后端的过程中,因为其他按钮只是从前端下载相同的pdf(没有连接到后端)是100%好的

我应该使用responseType:Blob,还是尝试调整java端

在控制台中打印时,到达时后端的数据如下所示(仍然包含所有特殊字符):

%PDF-1.3
%ºß¬à
30 obj
对

您需要使用base64对文件进行编码,然后发送
然后在收到收到文件时再次解码。我发现它工作的唯一方法。

请添加您的PdfService类的代码,正如所说的,它在进入PdfService之前就被销毁了,所以我怀疑这是否真的重要。。
%PDF-1.3
%ºß¬à
3 0 obj
<</Type /Page
/Parent 1 0 R
.....