Taffy icon indicating copy to clipboard operation
Taffy copied to clipboard

Add Content-Disposition to StreamFile

Open Danteba opened this issue 1 year ago • 0 comments

Hello

In the function StreamFile it is not possible to set the filename of the streamed file.

So, if the streamed file is downloaded, it do not have a properly name.

It can be fixed simply adding a header with "Content-Disposition: attachment; filename=myfile.pdf", or similar.

I think that you can add something like

return streamFile("/foo.txt")
  .withStatus(200)
  .withMime("application/pdf")
  .withDisposition("attachment; filename=myfile.pdf")

Or simply adding .withHeaders() to this function:

return streamFile("/foo.txt")
  .withStatus(200)
  .withMime("application/pdf")
  .withHeaders({"Content-Disposition":"attachment; filename=myfile.pdf"})

In the meantime, I just added this to my code: <cfheader name="Content-Disposition" value="attachment; filename=myfile.pdf" > before "return StreamFile(...)"

And the streamed file can be downloaded with the suggested name.

Thank you

Danteba avatar Apr 29 '23 05:04 Danteba