[tahoe-lafs-trac-stream] [tahoe-lafs] #1901: WUI: the "Download!" button leads to the file displayed in-browser instead of "downloaded/saved"
tahoe-lafs
trac at tahoe-lafs.org
Fri Jan 4 23:51:57 UTC 2013
#1901: WUI: the "Download!" button leads to the file displayed in-browser instead
of "downloaded/saved"
-----------------------------------------+---------------------------
Reporter: zooko | Owner:
Type: defect | Status: new
Priority: normal | Milestone: undecided
Component: code-frontend-web | Version: 1.9.2
Keywords: LeastAuthority.com wui easy | Launchpad Bug:
-----------------------------------------+---------------------------
I just had a call from a customer ("TV") who was surprised that the
"Download!" button on the WUI caused the file to display in the web
browser (this file was of text/plain type) instead of downloading/saving.
I was surprised, too. Investigating, I see that while we've
[changeset:151f69d9b59ee76522c5ae3dad259ded752e8ad4/git long] had a
[source:git/docs/frontends/webapi.rst?rev=05d0b8b5b9247e1d0541e58250a81df89d5c9115
#viewing-downloading-a-file force-download feature], the current WUI
doesn't use it!
I reproduced the customer's issue with Firebug turned on and observed the
following HTTP transactions.
1. When I click "Download!" my browser issues:
{{{
GET /uri?uri=$CAP&filename=testdown3.txt
}}}
and the tahoe-lafs WUI/WAPI sends a {{{302 Found}}} status:
{{{
HTTP/1.1 302 Found
Location: http://127.0.0.1/uri/$CAP?filename=testdown3.txt
}}}
and then the browser issues:
{{{
GET /uri/$CAP?filename=testdown3.txt
}}}
After which the server sends the contents of the text file, along with
header {{{Content-Type: text/plain}}} and no {{{Content-Disposition}}}
header, and so the browser displays the contents of the file in the
browser window.
To close this ticket, make it so that the last request issued by the
browser uses the third form for
[source:git/docs/frontends/webapi.rst?rev=05d0b8b5b9247e1d0541e58250a81df89d5c9115
#viewing-downloading-a-file "Viewing/Downloading a File"], i.e. instead of
{{{/uri/$CAP?filename=testdown3.txt}}}, it should request
{{{/named/$CAP/filename=testdown3.txt?save=true}}}. I just tested and
confirmed that this makes the server include the {{{Content-Disposition}}}
header, but {{{/named/$CAP/filename=testdown3.txt?save=true}}} does not.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1901>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list