0

大家好,我正在尝试调整 xupload ext 的功能,我要做的是向用户呈现他们所有上传的图像,这样即使他们在上传图像后刷新页面,它仍然会在#modal-gallery 上呈现table..我知道如何使用 CActiveRecord 问题是:

我如何让我的表单知道用户已经上传了图片?

我的表格代码是:

 <?php
    $this->widget('xupload.XUpload', array(
        'url' => Yii::app( )->createUrl("/UserAccountImages/upload",array('id'=>$model->id)),
        'model' => $imageForm,
        'htmlOptions' => array('id'=>'user-account-images-form'),
        'attribute' => 'file',
        'multiple' => true,
        'options' => array(
            'maxNumberOfFiles'=>8,
            'maxFileSize' => 3000000,
            'acceptFileTypes' => "js:/(\.|\/)(jpe?g|png|gif|bmp)$/i",
        ),
        'formView' => 'application.views.UserAccountImages._form',
    )    
    );
    ?>
4

1 回答 1

1

所以在我看来,扩展程序没有在您的数据库中保存任何内容。所以你需要某种方法来计算用户上传的文件数量,你可以通过查看保存在服务器上的文件来做到这一点,但你需要知道哪个文件是由哪个用户上传的。或者您可以为用户上传的每个文件在数据库中保存一个条目。与用户的关系和有关上传文件的数据。(删除文件时,您需要删除此记录。)

如果您能够获得每个用户的文件计数,您应该能够设置 'maxNumberOfFiles'=>8 - getFilecountOfCurrentUser() //<-The method you'll need to implement

然后显示表中的文件...

你可以走2条路:

  1. 更改扩展视图,使其显示用户已上传的文件(位于扩展/视图目录中的文件称为:“form.php”。
  2. 当页面使用 java 脚本加载时,将文件添加到表中。

对于这两种工作方式,您需要知道哪个文件属于哪个用户。

于 2013-09-22T14:22:51.643 回答