Skip to content

Commit 9619eec

Browse files
Merge pull request #980 from OpenSignLabs/raktima-opensignlabs-patch-11
fix: issue with files opening in a new tab on download instead of direct download
2 parents 4941031 + 886161d commit 9619eec

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

apps/OpenSign/src/constant/Utils.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1979,6 +1979,20 @@ export const handleSendOTP = async (email) => {
19791979
alert(error.message);
19801980
}
19811981
};
1982+
export const fetchUrl = async (url, pdfName) => {
1983+
try {
1984+
const response = await fetch(url);
1985+
if (!response.ok) {
1986+
alert("something went wrong, please try again later.");
1987+
throw new Error("Network response was not ok");
1988+
}
1989+
const blob = await response.blob();
1990+
saveAs(blob, `${sanitizeFileName(pdfName)}_signed_by_OpenSign™.pdf`);
1991+
} catch (error) {
1992+
alert("something went wrong, please try again later.");
1993+
console.error("Error downloading the file:", error);
1994+
}
1995+
};
19821996
//handle download signed pdf
19831997
export const handleDownloadPdf = async (
19841998
pdfDetails,
@@ -2001,7 +2015,7 @@ export const handleDownloadPdf = async (
20012015
}
20022016
);
20032017
const url = axiosRes.data.result;
2004-
saveAs(url, `${sanitizeFileName(pdfName)}_signed_by_OpenSign™.pdf`);
2018+
await fetchUrl(url, pdfName);
20052019
setIsDownloading("");
20062020
} catch (err) {
20072021
console.log("err in getsignedurl", err);

apps/OpenSign/src/primitives/GetReportDisplay.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ import Tooltip from "./Tooltip";
1010
import { RWebShare } from "react-web-share";
1111
import Tour from "reactour";
1212
import Parse from "parse";
13-
import { saveAs } from "file-saver";
1413
import {
1514
checkIsSubscribedTeam,
1615
copytoData,
16+
fetchUrl,
1717
replaceMailVaribles
1818
} from "../constant/Utils";
1919
import Confetti from "react-confetti";
@@ -595,14 +595,18 @@ const ReportTable = (props) => {
595595

596596
// `handleDownload` is used to get valid doc url available in completed report
597597
const handleDownload = async (item) => {
598+
setActLoader({ [`${item.objectId}`]: true });
598599
const url = item?.SignedUrl || item?.URL || "";
600+
const pdfName = item?.Name || "exported_file";
599601
if (url) {
600602
try {
601603
const signedUrl = await Parse.Cloud.run("getsignedurl", { url: url });
602-
saveAs(signedUrl);
604+
await fetchUrl(signedUrl, pdfName);
605+
setActLoader({});
603606
} catch (err) {
604607
console.log("err in getsignedurl", err);
605608
alert("something went wrong, please try again later.");
609+
setActLoader({});
606610
}
607611
}
608612
};

0 commit comments

Comments
 (0)