I have some HTML with a link:
<a href="https://example.com/get-pdf">Download PDF</a>
 
Where example.com  is my Node-RED instance with a /get-pdf http endpoint:
This flow then GETs the file through another http request (because the file is behind an API that needs a bearer token).
My question is:  how do I return this fille so that the person who clicked the link gets the file as a normal file download in their browser?
             
            
               
               
               
            
            
           
          
            
            
              You can set the content-type header in the HTTP response node to "application/octet-stream" to 'force' a download. If you set it to "application/pdf" I suspect Chrome (for example) might use its own reader rather than downloading it. Not tested though.
             
            
               
               
               
            
            
           
          
            
            
              Unfortunately that didn't work. The result was this "file":
Same result with both application/octet-stream and application/pdf.
Is this correct programming of the reponse node? 
The flow looks like this: 
The request node should be set to this, right? 
             
            
               
               
               
            
            
           
          
            
            
              
Don't include quotes in string fields
             
            
               
               
               
            
            
           
          
            
            
              Still the same result without the quotes 
             
            
               
               
               
            
            
           
          
            
            
              Have you specified a file name anywhere? 
If you are ok with a fixed/static file name, just add another header
name: Content-Disposition 
value: attachment; filename="file.pdf"
             
            
               
               
               
            
            
           
          
            
            
              Thanks! That worked perfectly.
Well, it would be great to be able to specify the filename.
I tried using a {{{variable}}} as part of the filename but that didn't work.
             
            
               
               
               
            
            
           
          
            
              
                system  
                
                  Closed 
               
              
                  
                    20 February 2023 11:50
                   
                   
              8 
               
             
            
              This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.