2014-04-23 2 views
5

के साथ सिम्फनी ऑडियो स्ट्रीम मैं ऑडियो फ़ाइलों को स्टोर करने के लिए KnpGaufretteBundle का उपयोग कर रहा हूं। मैं इस तरह ग्राहक के लिए किसी दिए गए फ़ाइल को डाउनलोड करने में सक्षम हूँ:गौफ्रेटे

$filename = "Somefilename.mp3"; 

    $fs = $this->filesystemMap->get('media_fs'); 
    $file = $fs->read($filename); 

    if($file){ 
     //Create And Return Response 
     $response = new Response(); 

     $disp = $response->headers->makeDisposition(
      ResponseHeaderBag::DISPOSITION_ATTACHMENT, 
      $variant->getFileName() 
     ); 

     $response->headers->set('Content-Length', $fs->size($filename)); 
     $response->headers->set('Accept-Ranges', 'bytes'); 
     $response->headers->set('Content-Transfer-Encoding', 'binary'); 
     $response->headers->set('Content-Type', 'application/octet-stream'); 
     $response->headers->set('Content-Disposition', $disp); 
     $response->setContent($file); 

     return $response; 
    } 

लेकिन अब मैं भी बजाय लगाव सामग्री स्वभाव का उपयोग कर के ग्राहक के लिए फ़ाइल स्ट्रीम करने के लिए, चाहते हैं। असल में मैं इसे क्लाइंटसाइड तक पहुंचना चाहता हूं जैसे कि मैं अपने सर्वर पर बैठे वास्तविक एमपी 3 पर इशारा कर रहा था। क्या कोई जानता है कि यह कैसे किया जा सकता है?

उत्तर

5

मैंने स्ट्रीमवापर का उपयोग करके इसे हल किया ... यह आसान था।

$filepath = 'gaufrette://myFileSystemName/'.$filename; 

$response = new \Symfony\Component\HttpFoundation\BinaryFileResponse($filepath); 
संबंधित मुद्दे