文件预览与下载
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: {
// 如果需要,设置其他请求头
}
}
);
};