Javascript 在React中使用axios以pdf格式下载单个文件,以zip格式下载多个文件

Javascript 在React中使用axios以pdf格式下载单个文件,以zip格式下载多个文件,javascript,node.js,reactjs,axios,Javascript,Node.js,Reactjs,Axios,我目前正在使用此方法下载来自API的文件。 但在这里,无论文件是单个文件还是多个文件,它们都是以Zip格式下载的 是否有任何方法可以更改它,以便如果单个文件存在,它将按原样下载,对于多个文件,它们将按Zip文件下载 我是一个初学者,无法理解它。在使用单个文件和多个文件时,请确认响应(res.data)好吗?如果可能的话,请更新问题Blob{size:19753,键入:“text/html”}size:19753键入:“text/html”无论是多个还是单个,在将res.data传递给新Blob(

我目前正在使用此方法下载来自API的文件。 但在这里,无论文件是单个文件还是多个文件,它们都是以Zip格式下载的

是否有任何方法可以更改它,以便如果单个文件存在,它将按原样下载,对于多个文件,它们将按Zip文件下载


我是一个初学者,无法理解它。

在使用单个文件和多个文件时,请确认响应(res.data)好吗?如果可能的话,请更新问题Blob{size:19753,键入:“text/html”}size:19753键入:“text/html”无论是多个还是单个,在将res.data传递给新Blob(res.data)之前,我可以知道响应格式吗。如果有单个文件或多个文件。如果它们之间存在差异,那么我们可以有条件地进行处理
try {
      const res = await axios.get(
        `${apilink}/download/`,
        {
          responseType: "blob",
          params: body,
        }
      );
      const url = window.URL.createObjectURL(new Blob([res.data]));
      const link = document.createElement("a");
      link.href = url;
      link.setAttribute("download", "file.zip");
      document.body.appendChild(link);
      link.click();
    } catch (e) {
      toaster.notify("Cannot Download.Please try again");
    }