On Tue, Mar 24, 2009 at 5:54 PM, Tomasz Ignatiuk <[email protected]>wrote:
> It worked, thank you very much!!! But how did you know? Why it is > happening? > Because the prod controller, strip out all the php error reporting. Check your action, probably there are some errors on Header generation code. P. > > 2009/3/24 Paolo Mainardi <[email protected]> > >> >> >> On Tue, Mar 24, 2009 at 5:46 PM, Tomasz Ignatiuk < >> [email protected]> wrote: >> >>> I opened with a VIM. Many strange alphanumeric stuff inside but in the >>> end there is a warning few times: >>> >>> >>> <b>Warning</b>: Cannot modify header information - headers already sent >>> by (output started at >>> /home/..../apps/backend/modules/dokument/actions/actions.class.php:592) in >>> <b>/home/../symfony/1.2/lib/response/sfWebResponse.class.php</b> on line >>> <b>335</b><br / >>> >>> 592 line is: $response->setContent(readfile($sciezka)); >>> >> >> >> Try to export without the _dev frontend enabled. >> >> >>> >>> >>> >>> >>> >>> 2009/3/24 Yevgeniy A. Viktorov <[email protected]> >>> >>> >>>> >>>> Open it as raw file, for example with the help of "vim". >>>> >>>> Tomasz Ignatiuk wrote: >>>> > "File is damaged and it couldn't be repaired" - this shows while I try >>>> > to open it with adobe acrobat/reader. I don;t know how to check it in >>>> > a different way. >>>> > >>>> > 2009/3/24 Fási Gábor <[email protected] <mailto:[email protected]>> >>>> > >>>> > What's 'broken'? You mean you can't open it with adobe >>>> reader/other >>>> > pdf viewer? If you check the contents of the file, does it look >>>> like a >>>> > valid pdf? >>>> > >>>> > On Tue, Mar 24, 2009 at 12:51, Tomasz Ignatiuk >>>> > <[email protected] <mailto:[email protected]>> >>>> wrote: >>>> > > >>>> > > Hi, I use this code for downloading files. If I download image, >>>> it >>>> > > works, but if I download pdf, after downloading when I try to >>>> > open it, >>>> > > it is broken. >>>> > > >>>> > > if (is_file($sciezka)) >>>> > > { >>>> > > // Enforce full download >>>> > and prevent caching >>>> > > >>>> > session_cache_limiter('none'); >>>> > > >>>> > > // No layout needed for >>>> > file downloads >>>> > > $this->setLayout(false); >>>> > > >>>> > sfConfig::set('sf_web_debug', false); >>>> > > >>>> > > // Prepare http headers >>>> > > $fileType = >>>> > $file->getFormat()->getNazwa(); >>>> > > >>>> > > $response = >>>> > $this->getResponse(); >>>> > > >>>> > $response->clearHttpHeaders(); >>>> > > >>>> > $response->setHttpheader('Pragma: public', true); >>>> > > >>>> > $response->addCacheControlHttpHeader('Cache-Control', 'must- >>>> > > revalidate'); >>>> > > >>>> > $response->setHttpHeader('Expires', 'Sat, 26 Jul 1997 05:00:00 >>>> > > GMT'); >>>> > > >>>> > $response->setHttpHeader("Last-Modified", gmdate("D, d M Y >>>> > > H:i:s") . " GMT"); >>>> > > >>>> > $response->setContentType($fileType,true); >>>> > > >>>> > $response->setHttpHeader('Content-Description', 'File Transfer'); >>>> > > >>>> > $response->setHttpHeader('Content-Transfer-Encoding', 'binary', >>>> > > true); >>>> > > >>>> > $response->setHttpHeader('Content-Length', filesize('' . (string) >>>> > > utf8_decode($sciezka . ''))); >>>> > > >>>> > $response->setHttpHeader('Content-Disposition', 'attachment; >>>> > > filename=' . str_replace(" ", "_", utf8_decode($file- >>>> > >>getFileNazwaOrginalna())) ); >>>> > > >>>> > > // Unlock session in >>>> > order to prevent php session warnings >>>> > > >>>> $this->getUser()->shutdown(); >>>> > > >>>> > > // Send http headers to >>>> > user client >>>> > > >>>> $response->sendHttpHeaders(); >>>> > > >>>> > > // Send file to user >>>> client >>>> > > >>>> > //$response->setContent(readfile(utf8_decode($sciezka))); >>>> > > >>>> > $response->setContent(readfile($sciezka)); >>>> > > >>>> > //$response->setContent(file_get_contents(utf8_decode($file- >>>> > >>getPath()))); >>>> > > $response->sendContent(); >>>> > > >>>> > > // Exit without a >>>> template >>>> > > return sfView::NONE; >>>> > > >>>> > > >>>> > > This line gives a proper mime type >>>> > > $response->setContentType($fileType, true); >>>> > > >>>> > > fileType is taken from DB. These are: application/pdf and >>>> image/jpeg >>>> > > >>>> > > It is strange because locally on apache on windows it works, but >>>> not >>>> > > on production server. Locally when I upload file its pdf mime >>>> > type is >>>> > > application/x-download. On production server it is >>>> application/pdf >>>> > > >>>> > > Any ideas what is the problem? >>>> > > > >>>> > > >>>> > >>>> > >>>> > >>>> > >>>> > > >>>> >>>> >>>> >>> >>> >>> >> >> >> -- >> Paolo Mainardi >> >> CTO Twinbit >> Blog: http://www.paolomainardi.com >> >> >> >> > > > > -- Paolo Mainardi CTO Twinbit Blog: http://www.paolomainardi.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" 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/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---
