Beispiel #1
0
 public function getDownloadURL()
 {
     $file_svc = new \Elgg\FileService\File();
     $file_svc->setFile($this);
     $file_svc->setDisposition('attachment');
     $file_svc->bindSession(false);
     return $file_svc->getURL();
 }
Beispiel #2
0
 /**
  * Returns file's URL for inline display
  * Suitable for displaying cacheable resources, such as user avatars
  *
  * @param \ElggFile $file       File object or entity
  * @param bool      $use_cookie Limit URL validity to current session only
  * @param string    $expires    URL expiration, as a string suitable for strtotime()
  * @return string
  */
 function elgg_get_inline_url(\ElggFile $file, $use_cookie = false, $expires = '+1 year')
 {
     $file_svc = new Elgg\FileService\File();
     $file_svc->setFile($file);
     $file_svc->setExpires($expires);
     $file_svc->setDisposition('inline');
     $file_svc->bindSession($use_cookie);
     return $file_svc->getURL();
 }
Beispiel #3
0
 /**
  * @group FileService
  */
 public function testResponseHeadersMatchFileAttributesForAttachmentUrls()
 {
     $file = new \Elgg\FileService\File();
     $file->setFile($this->file);
     $file->setDisposition('attachment');
     $file->bindSession(true);
     $request = $this->createRequest($file);
     $response = $this->handler->getResponse($request);
     $this->assertEquals('text/plain', $response->headers->get('Content-Type'));
     $filesize = filesize($this->file->getFilenameOnFilestore());
     $this->assertEquals($filesize, $response->headers->get('Content-Length'));
     $this->assertContains('attachment', $response->headers->get('Content-Disposition'));
     $this->assertEquals('"' . $this->file->getModifiedTime() . '"', $response->headers->get('Etag'));
 }