Загрузка файла текста / слова в cakephp, а затем просмотр в реальном времени

Я хочу иметь возможность загружать файлы в базу данных, а затем иметь ссылку для просмотра, чтобы я мог также увидеть этот файл. В основном все сохраненные файлы должны отображаться на странице индекса, и если я нажимаю кнопку просмотра, содержимое файла должно отображаться на странице просмотра. Я использую эти коды, вот моя часть контроллера:

    public function add(){

        if ($this->request->is('post')){
        $this->Doc->create();
        $filename = $this->request->data['Doc']['docname']['name'];
        $this->request->data['Doc']['docname'] = $filename;

        if ($this->Doc->save($this->request->data)){
            $this->Session->setFlash('Message : ' . $filename);
            $this->redirect(array('action' => 'index'));


        }else{
            $this->Session->setFlash(__('The Doc could not be saved. Please, try again'));
            $this->redirect(array('action' => 'add'));
        }
    }

}

Вот моя функция добавления в app / view:

  <div class="doc form">
       <?php echo $this->Form->create('Doc', array('type' => 'file')); ?>
<fieldset>
<table align="left">
<tr>
    <td>

        <?php echo $this->Form->input('docname', array('type' => 'file'));?>
    </td>


</tr>
</table>
</fieldset>
        <div align="center" style="padding: 20px">
        <?php echo $this->Html->link('Cancel',array('controller' =>         'docs', 'action' => 'index'), array('class' => 'btn btn-primary')); ?>
        <?php echo $this->Form->button('Submit',array('type'=>'upload','class'=>'btn btn-primary')); ?>
        <?php echo $this->Form->end(); ?>

Все, что я получаю, - это только имя файла, сохраняемого в базе данных, и все эти имена также отображаются на моей странице указателя, но если я нажимаю кнопку просмотра, я просто вижу имена файла, а не содержимое под ним. Я новичок в cake-php, поэтому сомневаюсь, что это правильный подход или нет. Я использую версию Cake-Php 2.4. База данных является postgres. Мой стол такой:

Тип столбца
id (целое число)
имя документа (различается символ (255))
grant_id (целое число (fk))

И моя модель Дока выглядит так

      class Doc extends AppModel {


//The Associations below have been created with all possible keys, those that are    not needed can be removed


public $belongsTo = array(
    'Grant' => array(
        'className' => 'Grant',
        'foreignKey' => 'grant_id',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    )
);

}

0 ответов

Другие вопросы по тегам