fix(api): correct values of Content-Disposition attributes (#260)

This commit is contained in:
Ivan Shelepugin
2025-12-01 00:58:40 +03:00
committed by GitHub
parent 0928709173
commit f938723d9a

View File

@@ -17,12 +17,11 @@ export default async function handler(
}
try {
const downloadUrl = decodeURIComponent(url);
const downloadFilename =
(typeof filename === "string" ? decodeURIComponent(filename) : null) ??
"attachment";
const downloadFilename = typeof filename === "string"
? encodeURIComponent(filename)
: "attachment";
const upstream = await fetch(downloadUrl);
const upstream = await fetch(url);
if (!upstream.ok) {
return res.status(upstream.status).json({
@@ -36,7 +35,7 @@ export default async function handler(
res.setHeader("Content-Type", contentType);
res.setHeader(
"Content-Disposition",
`attachment; filename="${downloadFilename}"`,
`attachment; filename="${downloadFilename}"; filename*=UTF-8''${downloadFilename}`,
);
const buffer = await upstream.arrayBuffer();