Add filename to download
This commit is contained in:
parent
65011cba77
commit
b98acb2ee6
@ -1 +1 @@
|
|||||||
Subproject commit 6907ea0183b141e3b4f3c21758c9123f1e9b2a27
|
Subproject commit b6d4fab46f7f8689dd6b050cfbff2faa6a6f3fec
|
@ -19,10 +19,10 @@ const ReportTable: React.FC = () => {
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
const handleDownloadReport = async (report_id: string) => {
|
const handleDownloadReport = async (report_id: string) => {
|
||||||
const reportFile = await downloadReport(report_id);
|
const {file, filename} = await downloadReport(report_id);
|
||||||
const anchorElement = document.createElement('a');
|
const anchorElement = document.createElement('a');
|
||||||
anchorElement.href = URL.createObjectURL(reportFile);
|
anchorElement.href = URL.createObjectURL(file);
|
||||||
anchorElement.download = `${report_id}.xlsx`; // Set the desired new filename
|
anchorElement.download = filename;
|
||||||
|
|
||||||
document.body.appendChild(anchorElement);
|
document.body.appendChild(anchorElement);
|
||||||
anchorElement.click();
|
anchorElement.click();
|
||||||
|
@ -258,10 +258,10 @@ const ReportDetail = () => {
|
|||||||
});
|
});
|
||||||
const report_data = data as ReportDetailList;
|
const report_data = data as ReportDetailList;
|
||||||
const handleDownloadReport = async () => {
|
const handleDownloadReport = async () => {
|
||||||
const reportFile = await downloadReport(id);
|
const {file, filename} = await downloadReport(id);
|
||||||
const anchorElement = document.createElement('a');
|
const anchorElement = document.createElement('a');
|
||||||
anchorElement.href = URL.createObjectURL(reportFile);
|
anchorElement.href = URL.createObjectURL(file);
|
||||||
anchorElement.download = `${id}.xlsx`; // Set the desired new filename
|
anchorElement.download = filename;
|
||||||
|
|
||||||
document.body.appendChild(anchorElement);
|
document.body.appendChild(anchorElement);
|
||||||
anchorElement.click();
|
anchorElement.click();
|
||||||
|
@ -93,12 +93,23 @@ export async function downloadReport(report_id: string) {
|
|||||||
const response = await API.get(`/ctel/get_report_file/${report_id}/`, {
|
const response = await API.get(`/ctel/get_report_file/${report_id}/`, {
|
||||||
responseType: 'blob', // Important
|
responseType: 'blob', // Important
|
||||||
});
|
});
|
||||||
|
let filename = "report.xlsx";
|
||||||
|
try {
|
||||||
|
let basename = response.headers['content-disposition'].split('filename=')[1].split('.')[0];
|
||||||
|
let extension = response.headers['content-disposition'].split('.')[1].split(';')[0];
|
||||||
|
filename = `${basename}.${extension}`
|
||||||
|
} catch(err) {
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
const file = new Blob([response.data], {
|
const file = new Blob([response.data], {
|
||||||
type: 'application/vnd.ms-excel',
|
type: 'application/vnd.ms-excel',
|
||||||
});
|
});
|
||||||
// const fileURL = URL.createObjectURL(file);
|
// const fileURL = URL.createObjectURL(file);
|
||||||
// window.open(fileURL);
|
// window.open(fileURL);
|
||||||
return file;
|
return {
|
||||||
|
file: file,
|
||||||
|
filename: filename,
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
notification.error({
|
notification.error({
|
||||||
message: `${error?.message}`,
|
message: `${error?.message}`,
|
||||||
|
Loading…
Reference in New Issue
Block a user