muryshev's picture
init
79278ec
raw
history blame contribute delete
842 Bytes
import { GenericIdentityFn, IQueryErrorResponse } from "../api/query";
import { AxiosResponseHeaders } from "axios";
export const getContentFilename = (headers?: AxiosResponseHeaders) => {
const fileNameHeader = headers?.get("content-disposition")?.toString();
const regex = /filename="([^"]+)"/;
const match = fileNameHeader?.match(regex);
return match?.[1];
};
export const downloadFile = (
response: IQueryErrorResponse | GenericIdentityFn<Blob>,
filenameparam?: string
) => {
if ("data" in response && response.data) {
const url = URL.createObjectURL(response.data);
const link = document.createElement("a");
link.href = url;
link.download = `${filenameparam ?? "file.pdf"}`;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
URL.revokeObjectURL(url);
}
};