[Zope] Some users can't view sent PDFs anymore
Kirk Strauser
kirk at daycos.com
Thu Aug 17 10:41:07 EDT 2006
Since upgrading from Zope 2.8.something to 2.9.3, many of our customers
can no longer view PDFs that we send them. If they're using Internet
Explorer, they often get a blank page when trying to view them (and we
haven't been able to nail down the exact combination of Windows + IE +
Acrobat that causes the problem).
Here's the Python script we use to send the files:
## Script (Python) "download"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=filename,password=None,skipctypeheader=None
##title=
##
request = container.REQUEST
RESPONSE = request.RESPONSE
stockexception = 'FileUnavailableError'
# Does the file exist?
if not filename in context.files.objectIds():
raise stockexception
file = context.files[filename]
# Does the given password match the one on the file?
if file.getProperty('password', d=None) != password:
raise stockexception
if not skipctypeheader:
# Set the content type if one is defined for the file
ctype = file.getProperty('content_type', d=None)
if ctype:
RESPONSE.setHeader('Content-Type', ctype)
RESPONSE.setHeader('Content-Disposition', 'inline; filename=%s' % filename)
return context.files[filename]
Here's the output of running 'curl' to fetch one:
$ curl -vv 'http://web2.xrsnet.com/publicstore/download?filename=print.pdf&password=foo' > /dev/null
* About to connect() to web2.xrsnet.com port 80
* Trying 10.45.14.64... connected
* Connected to web2.xrsnet.com (10.45.14.64) port 80
> GET /publicstore/download?filename=print.pdf&password=foo HTTP/1.1
> User-Agent: curl/7.15.1 (i486-pc-linux-gnu) libcurl/7.15.1 OpenSSL/0.9.8a zlib/1.2.3 libidn/0.5.18
> Host: web2.xrsnet.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Thu, 17 Aug 2006 14:34:12 GMT
< Server: Zope/(Zope 2.9.3-, python 2.4.3, freebsd6) ZServer/1.1
< Content-Length: 1742
< Content-Type: application/pdf; charset=iso-8859-15
< Content-Disposition: inline; filename=print.pdf
< Vary: User-Agent
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1742 100 1742 0 0 20835 0 --:--:-- --:--:-- --:--:-- 541k* Connection #0 to host web2.xrsnet.com left intact
* Closing connection #0
I feel kind of sheepish about blaming Zope, but everything worked perfectly
one day, I did the upgrade that night, and the complaints started rolling
in the next morning.
If nothing else, would some IE users be kind enough to try to view this
tiny PDF and see whether it opens inline or externally, and whether it
displays actual content (the phrase "This is a test.") or a blank page:
http://web2.xrsnet.com/publicstore/download?filename=print.pdf&password=foo
Many thanks in advance. My boss is increasingly unamused and I'm out of
ideas.
--
Kirk Strauser
The Day Companies
More information about the Zope
mailing list