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?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to 
symfony-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to