Guess you can't do download via ajax.  If I use a <form>, it works just 
fine.  Lesson learned!

On Thursday, March 7, 2013 11:04:08 AM UTC-5, Geoff Bell wrote:
>
> I'm trying to add a download button to our site.  Clicking it initiates 
> this ajax request:
> $.ajax
>   url: '/reports/get_file_from_json_service'
>   data: { docId:window.DOCUMENT_ID, file_type:'pdf' }
>   type: 'POST'
>   success: (data, stat, xhr) => console.log 'download', stat
>   error: (xhr, stat, err) => console.log 'download', stat, err
>
>
> This hits some service that retrieves the current document from a 
> data-store.  For testing in an offline environment, I've mocked an Express 
> route and ends up here:
> exports.getPDF = (req, res) ->
>   date = new Date().getTime()
>   console.log "Downloading document #{req.body.docId} of type 
> #{req.body.file_type}"
>
>   res.download 'mock_routes/report.pdf', "report#{date}.pdf", (err) ->
>     if err
>       console.log "something went wrong downloading report-#{date}.pdf", 
> err
>     else
>       console.log 'success'
>       exec 'touch mock_routes/report.pdf'
>
>
> This appears to be working.  I get a success message from the server, and 
> from the client.  I can see the PDF body using Chrome's Inspector. 
>  However, the browser is not prompting me to save the PDF.  The response 
> header looks like so:
>
>    1. Accept-Ranges:
>    bytes
>    2. Cache-Control:
>    public, max-age=0
>    3. Connection:
>    keep-alive
>    4. Content-Disposition:
>    attachment; filename="report1362670336342.pdf"
>    5. Content-Length:
>    30042
>    6. Content-Type:
>    application/pdf
>    7. Date:
>    Thu, 07 Mar 2013 15:32:16 GMT
>    8. ETag:
>    "30042-1362670171000"
>    9. Last-Modified:
>    Thu, 07 Mar 2013 15:29:31 GMT
>    10. Vary:
>    Accept-Encoding
>    11. X-Powered-By:
>    Express
>    
>
> My understanding is that the Content-Disposition tells the browser to save 
> the file, and suggest the filename "report{date}.pdf. This isn't happening 
> though. Nothing happens. Any ideas why the browser is not prompting to Save 
> As?
>
> Thank you,
> Geoff
>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to