Skip to content

文件预览与下载

pdf文件预览大概有两种方式

1. 后端返回的文件类型为文件的路径

当后端返回的文件类型为文件的路径时,后端需要将响应头设置为

js
    Content-Disposition: inline;filename=example.pdf

2. 后端返回的文件类型为文件流

js
    // 预览
const handlePreview = async row => {
  const params = "finance-import-data";
  const response = await minioDownload(params, { filePath: row.filePath });
  const blob = new Blob([response], { type: "application/pdf" });
  let url = window.URL.createObjectURL(blob);
  window.open(url, "_blank");
};

3. 文件下载(文件流)

请求头中需要设置为blob,接收文件流的方式

js
// 单一文件下载
export const minioDownload = (bucketName, data) => {
  return http.post(
    `${basepath.baseUrl}/minio/download/${bucketName}`,
    data,
    {
      responseType: "blob",
      headers: {
        // 如果需要,设置其他请求头
      }
    }
  );
};