Yo'av Moshe wrote:
> I'd try to test and see if I can serve the already generated files
> from a different HTTP server.
>
> This way you could be sure it's a cherrypy/tg issue and not some
> firewall which has been installed on your server and is blocking the
> files for some reason.
>
> Yo'av
>
> On Feb 3, 4:26 am, Jim Steil <[email protected]> wrote:
>
>> Remi Jolin - SysGroup wrote:
>>
>>
>>> Hello,
>>>
>>> le 02.02.2009 17:27 Jim Steil a écrit:
>>>
>>>> Hi
>>>>
>>>> I use the following code to display PDF files. This has worked for me
>>>> for a couple years. All of a sudden, this stopped working for some of
>>>> our PDFs. Some display correctly, but some do not. This happens only
>>>> on my production box (Win 2003), but works fine on my test/dvlp
>>>> environment (WinXP). I don't even know where to begin trying to debug
>>>> this. No errors are thrown. In the browser, it's as if the document
>>>> displayed, but it really didn't. The title has changed to the one that
>>>> should be displayed, but the page never changes. It is not still
>>>> processing, but just seems to have forgotten to display the PDF. This
>>>> is happening on all clients trying to connect, whether using IE or
>>>> Firefox.
>>>>
>>>> def documentDisplay(self, *args, **kw):
>>>> documentId = args[0]
>>>> doc = Document.get(documentId)
>>>>
>>>> pdfFile = StringIO.StringIO()
>>>> resourceDir = cherrypy.config.get('motion.resourcedir')
>>>> f = open('%sdocuments/%s' % (resourceDir, doc.documentName), 'rb')
>>>>
>>>> while 1:
>>>> data = f.read(1024*8)
>>>> if not data:break
>>>> pdfFile.write(data)
>>>> f.close()
>>>>
>>>> pdf = pdfFile.getvalue()
>>>> pdfFile.close()
>>>>
>>>> return(pdf)
>>>>
>>> You could first check the length of the 'pdf' variable... Is it coherent
>>> with the actual length of the file ?
>>>
>>> Are you PDFs static or generated dynamically on the fly just before
>>> displaying them. In that case it could be a "flush" issue of the
>>> generated file not closed (so not flushed) to the disk while you try to
>>> read it.
>>>
>>> And I was just wondering why you use a StringIO and not directly
>>> pdf = f.read()
>>>
>> Remi, thanks for your reply.
>>
>> The short answer is because that is what I copied from someone else's
>> code. I implemented the change you suggested, but it made no difference.
>>
>> I should have mentioned that this is happening when I display PDFs from
>> a number of different creation methods. I use this method to display
>> PDFs from a library of documents that we have but I also generate PDFs
>> on the fly using ReportLab. Again, it is an inconsistent problem. After
>> more digging, it appears as though it is related to the size of the
>> document that I'm trying to display. I have successfully displayed all
>> documents 976 KB or smaller but cannot display any files that are 1050
>> KB or larger. Anyone have any idea where I can begin debugging this issue?
>>
>> After my first post I noticed I didn't have the same TG environment on
>> both systems. I've upgrade both systems to TG 1.0.8 and still have the
>> same behavior, works in my dvlp environment, but not production. Again,
>> this has worked in production for a over a year and all of a sudden quit
>> working. No changes were made to the box except for Windows patches.
>>
>> -Jim
>>
> >
>
Thank you. I'll try that Thursday when I'm back in the office again.
-Jim
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" 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/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---