Skip to content

Commit d5d646e

Browse files
fix: issue with files opening in a new tab on download instead of direct download
1 parent 72e9e48 commit d5d646e

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

apps/OpenSign/src/constant/Utils.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2001,7 +2001,18 @@ export const handleDownloadPdf = async (
20012001
}
20022002
);
20032003
const url = axiosRes.data.result;
2004-
saveAs(url, `${sanitizeFileName(pdfName)}_signed_by_OpenSign™.pdf`);
2004+
try {
2005+
const response = await fetch(url);
2006+
if (!response.ok) {
2007+
alert("something went wrong, please try again later.");
2008+
throw new Error("Network response was not ok");
2009+
}
2010+
const blob = await response.blob();
2011+
saveAs(blob, `${sanitizeFileName(pdfName)}_signed_by_OpenSign™.pdf`);
2012+
} catch (error) {
2013+
alert("something went wrong, please try again later.");
2014+
console.error("Error downloading the file:", error);
2015+
}
20052016
setIsDownloading("");
20062017
} catch (err) {
20072018
console.log("err in getsignedurl", err);

apps/OpenSign/src/primitives/GetReportDisplay.js

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import BulkSendUi from "../components/BulkSendUi";
2727
import Loader from "./Loader";
2828
import Select from "react-select";
2929
import SubscribeCard from "./SubscribeCard";
30+
import sanitizeFileName from "./sanitizeFileName";
3031

3132
const ReportTable = (props) => {
3233
const navigate = useNavigate();
@@ -595,14 +596,31 @@ const ReportTable = (props) => {
595596

596597
// `handleDownload` is used to get valid doc url available in completed report
597598
const handleDownload = async (item) => {
599+
setActLoader({ [`${item.objectId}`]: true });
598600
const url = item?.SignedUrl || item?.URL || "";
601+
const pdfName = item?.Name || "exported_file";
599602
if (url) {
600603
try {
601604
const signedUrl = await Parse.Cloud.run("getsignedurl", { url: url });
602-
saveAs(signedUrl);
605+
// saveAs(signedUrl);
606+
try {
607+
const response = await fetch(signedUrl);
608+
if (!response.ok) {
609+
alert("something went wrong, please try again later.");
610+
throw new Error("Network response was not ok");
611+
}
612+
const blob = await response.blob();
613+
saveAs(blob, `${sanitizeFileName(pdfName)}_signed_by_OpenSign™.pdf`);
614+
setActLoader({});
615+
} catch (error) {
616+
alert("something went wrong, please try again later.");
617+
console.error("Error downloading the file:", error);
618+
setActLoader({});
619+
}
603620
} catch (err) {
604621
console.log("err in getsignedurl", err);
605622
alert("something went wrong, please try again later.");
623+
setActLoader({});
606624
}
607625
}
608626
};

0 commit comments

Comments
 (0)