Example #1
0
 /**
  * @param string $filename
  * @param string $name
  */
 private static function sendHeaders($filename, $name)
 {
     OC_Response::setContentDispositionHeader($name, 'attachment');
     header('Content-Transfer-Encoding: binary');
     OC_Response::disableCaching();
     $filesize = \OC\Files\Filesystem::filesize($filename);
     header('Content-Type: ' . \OC_Helper::getSecureMimeType(\OC\Files\Filesystem::getMimeType($filename)));
     if ($filesize > -1) {
         OC_Response::setContentLengthHeader($filesize);
     }
 }
Example #2
0
 /**
  * @param string $filename
  * @param string $name
  * @param boolean $isAttachment ; enforce download of file
  */
 private static function sendHeaders($filename, $name, $isAttachment = true)
 {
     if ($isAttachment) {
         OC_Response::setContentDispositionHeader($name, 'attachment');
     }
     header('Content-Transfer-Encoding: binary');
     OC_Response::disableCaching();
     $fileSize = \OC\Files\Filesystem::filesize($filename);
     $type = \OC::$server->getMimeTypeDetector()->getSecureMimeType(\OC\Files\Filesystem::getMimeType($filename));
     header('Content-Type: ' . $type);
     if ($fileSize > -1) {
         OC_Response::setContentLengthHeader($fileSize);
     }
 }
Example #3
0
 /**
  * Sets the content length header (with possible workarounds)
  * @param string|int|float $length Length to be sent
  */
 public static function setContentLengthHeader($length)
 {
     \OC_Response::setContentLengthHeader($length);
 }
Example #4
0
 /**
  * @param string $filename
  * @param string $name
  * @param array $rangeArray ('from'=>int,'to'=>int), ...
  */
 private static function sendHeaders($filename, $name, array $rangeArray)
 {
     OC_Response::setContentDispositionHeader($name, 'attachment');
     header('Content-Transfer-Encoding: binary', true);
     OC_Response::disableCaching();
     $fileSize = \OC\Files\Filesystem::filesize($filename);
     $type = \OC::$server->getMimeTypeDetector()->getSecureMimeType(\OC\Files\Filesystem::getMimeType($filename));
     if ($fileSize > -1) {
         if (!empty($rangeArray)) {
             header('HTTP/1.1 206 Partial Content', true);
             header('Accept-Ranges: bytes', true);
             if (count($rangeArray) > 1) {
                 $type = 'multipart/byteranges; boundary=' . self::getBoundary();
                 // no Content-Length header here
             } else {
                 header(sprintf('Content-Range: bytes %d-%d/%d', $rangeArray[0]['from'], $rangeArray[0]['to'], $fileSize), true);
                 OC_Response::setContentLengthHeader($rangeArray[0]['to'] - $rangeArray[0]['from'] + 1);
             }
         } else {
             OC_Response::setContentLengthHeader($fileSize);
         }
     }
     header('Content-Type: ' . $type, true);
 }