Javascript 在react js中使用字节数组生成pdf

Javascript 在react js中使用字节数组生成pdf,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我有一个API调用,它将json作为响应返回。json对象包含pdfBytes和xml作为字符串。我如何才能将响应中的pdf字节作为blob返回并生成文档 下面是我的代码片段,在此之前,我从API只得到一个响应,即pdf字节,它按预期工作,但现在使用json它不工作 var oReq = new XMLHttpRequest(); var URLToPDF = "http://localhost:8080/downloadPDF"; oReq.open("GET", URL

我有一个API调用,它将json作为响应返回。json对象包含pdfBytes和xml作为字符串。我如何才能将响应中的pdf字节作为blob返回并生成文档

下面是我的代码片段,在此之前,我从API只得到一个响应,即pdf字节,它按预期工作,但现在使用json它不工作

 var oReq = new XMLHttpRequest();

  var URLToPDF =
    "http://localhost:8080/downloadPDF";

  oReq.open("GET", URLToPDF, true);
  oReq.responseType = "blob";
  var that = this;
  oReq.onload = function() {
    console.log("Response received",oReq.response);
    const file = new Blob([oReq.response], { type: "application/pdf" });

    fileURL = URL.createObjectURL(file);
 window.open(fileURL, "_blank");
    that.setState({ loaderFlagInvoicePdf: false });
    that.setState({ invoicePDFDisplay: true });
  };

  oReq.send();

有人能建议如何从json响应中提取blob吗?

您需要将类型更改为{type:'application/json'}或将oReq.responseType更改为“json”。然后从jsonyes中获取字节文本,我已经做了更改,但是在导出pdf时,它给出的错误是“无法加载pdf”。你能帮我从JSON响应中将pdf字节提取为blob吗?这种情况下不会发生。blob文本是JSON base64编码的吗?如果是,您需要在使用new Blob()之前对其进行解码否,我已经使用java.util.Base64.getDecoder()对其进行了解码(新字符串(pdfData.getBytes()),我面临的问题是无法从JSON提取pdfBytes并将其转换为PDFYou需要将类型更改为{type:'application/JSON'}或将oReq.responseType更改为“JSON”。然后从Jsonies获取字节文本,我已经做了更改,但是在导出pdf时,它给出了错误“无法加载pdf”。您能帮我从JSON响应中提取pdf字节作为blob吗?这种情况下不会发生。blob文本是JSON base64编码的吗?如果是,您需要在将其与新blob()一起使用之前对其进行解码否,我已使用java.util.base64.getDecoder()对其进行解码(新字符串(pdfData.getBytes()),我面临的问题是无法从JSON中提取pdfBytes并将其转换为PDF