2012-02-17 15 views
0

私はcakephpから自分のファイルをアップロードするためにmeiouploadを使用し始めましたが、ダウンロードをどのようにコードするのか分かりません。Cakephp - MeioUpload - アップロードされたファイルをダウンロードする方法

私は、次のコードを使用してみました:

echo $file['Image']['dir'].$file['Image']['filename']; 

しかし、コードが間違っていると思われます。

uploads\image\filenamedb_fyp_2.txt 

ファイルdb_fyp2.txtをダウンロードするにはどうすればよいですか?

答えて

0

答えてくれてありがとう、しかし、私はすでにCakePHPののmediaviewを使用してファイルをダウンロードする方法を見つけました。

とにかく、私自身の質問に答えるために、さまざまな拡張子のファイルをダウンロードするには、次のコードを使用できます。 CakePHPののメディアビューを使用

- コントローラに

public function download($id){ 



    $this->viewClass = 'Media'; 
    $this->autoLayout = false; 


    $file = $this->Image->findById($id); 
    $link = $file['Image']['dir']; 



    $params = array(
    'id' => $file['Image']['filename'], 
    'name' => $file['Image']['filename'], 
    'download' => true, 
    'mimeType' => $file['Image']['mimetype'], 
    'extension' => array('pdf','zip','txt'), 
    'path' => $link.DS 
    ); 

    $this->set($params); 
0

皆さんは、ファイルパスをエコーすることをアプリに伝えているのですが、それはまさにそのことです。 、あなただけのファイルをブラウザで開く場合は、同様に、代わりにredirect制御フローを使用する:あなたはブラウザがダウンロードされたファイルを提供したい場合は、適切なコンテンツ・処分headerを送ったが(例を参照してください

class YourController extends AppController { 
    public function upload() { 
     // You upload logic here, followed by ... 
     $this->redirect($file['Image']['dir'].$file['Image']['filename']); 
    } 
} 

#1)。

header('Content-Disposition: attachment; filename="' . $file['Image']['filename'] . '"'); 
readfile($file['Image']['dir'].$file['Image']['filename']); 
0

てみてください、あなたはそれを代わりにのリンクを作成する必要がされては、それはあなたがここでやっている主な御嶽をwork.AndするURLを指定した場合は、this.Onlyを印刷しているところに、あなたのルートを追加それを印刷するだけです。

$this->Html->link('Link Name',$path to that file); 
関連する問題