Skip to content

Commit f79d7ed

Browse files
committed
fix: Apply afterFind result on streaming path
1 parent 01ddda3 commit f79d7ed

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/Routers/FilesRouter.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,13 +209,16 @@ export class FilesRouter {
209209
const defaultResponseHeaders = { 'X-Content-Type-Options': 'nosniff' };
210210

211211
if (isFileStreamable(req, filesController)) {
212-
await triggers.maybeRunFileTrigger(
212+
const afterFind = await triggers.maybeRunFileTrigger(
213213
triggers.Types.afterFind,
214214
{ file, forceDownload: false, responseHeaders: { ...defaultResponseHeaders } },
215215
config,
216216
fileAuth
217217
);
218-
for (const [key, value] of Object.entries(defaultResponseHeaders)) {
218+
if (afterFind?.forceDownload) {
219+
res.set('Content-Disposition', `attachment;filename=${afterFind.file?._name || filename}`);
220+
}
221+
for (const [key, value] of Object.entries(afterFind?.responseHeaders ?? defaultResponseHeaders)) {
219222
res.set(key, value);
220223
}
221224
filesController.handleFileStream(config, filename, req, res, contentType).catch(() => {

0 commit comments

Comments
 (0)