public function download()
  {
    if ( $this->file ){
      if ( !$this->size ){
        $this->get_size();
      }
      if ( $this->size && ($handle = fopen($this->file, 'r')) ){
        header('Content-type: application/octet-stream');
        header('Content-Disposition: attachment; filename="'.$this->name.'"');
        while ( !feof($handle) ){
          echo fread($handle, 65536);
        }
        fclose($handle);
      }
      else{
        die('Impossible to read the file '.$this->name);
      }
    }
    return $this;
  }