Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 上传文件Yii 1时添加文件说明_Javascript_Php_Json_Yii_Jquery File Upload - Fatal编程技术网

Javascript 上传文件Yii 1时添加文件说明

Javascript 上传文件Yii 1时添加文件说明,javascript,php,json,yii,jquery-file-upload,Javascript,Php,Json,Yii,Jquery File Upload,您好,我正在使用EAjaxUpload扩展来上传文件,它工作得很好,文件都上传了,我想为每个文件添加一个描述。我使用了onComplete功能,这是我的代码: $uploadfile = $this->widget('ext.EAjaxUpload.EAjaxUpload', array( 'id' => 'uploadFile',

您好,我正在使用EAjaxUpload扩展来上传文件,它工作得很好,文件都上传了,我想为每个文件添加一个描述。我使用了
onComplete
功能,这是我的代码:

$uploadfile = $this->widget('ext.EAjaxUpload.EAjaxUpload',
                        array(
                            'id' => 'uploadFile',
                            'config' => array(
                                'action' => Yii::app()->createUrl('objective/upload'),
                                'allowedExtensions' => array("docx", "pdf", "pptx"),//array("jpg","jpeg","gif","exe","mov" and etc...
                                'sizeLimit' => 5 * 1024 * 1024,// maximum file size in bytes
                                //'minSizeLimit'=>10*1024*1024,// minimum file size in bytes
                                'onComplete' => "js:function(id, fileName, responseJSON){
                                console.log(responseJSON);
                                var filedescription= prompt('file description');
                                  if (filedescription != null) {

                                           document.getElementById('demo').innerHTML =
                                 filedescription;
                                    return filedescription;
                                          }
                                 }",
                                //'messages'=>array(
                                //                  'typeError'=>"{file} has invalid extension. Only {extensions} are allowed.",
                                //                  'sizeError'=>"{file} is too large, maximum file size is {sizeLimit}.",
                                //                  'minSizeError'=>"{file} is too small, minimum file size is {minSizeLimit}.",
                                //                  'emptyError'=>"{file} is empty, please select files again without it.",
                                //                  'onLeave'=>"The files are being uploaded, if you leave now the upload will be cancelled."
                                //                 ),
                                'showMessage' => "js:function(message){ alert(message); }"
                            )
                        )); 
现在我想返回var filedescription以在控制器中上载操作。我该怎么做


谢谢,

1.onComplete在您的上传请求已通过“目标/上传”操作处理后调用。因此,您可以在请求之前请求并将描述设置为参数:

'onSubmit' => "js:function(id, fileName){
    // add filedescriton to post parameters:
    this.params.filedescription = 'some file description';
}"
在控制器“目标/上传”操作中,您可以通过$U POST['filedescription']访问它

2.另一种可能是创建单独的操作来保存描述(和其他文件处理…),并从onComplete调用它:

$.post( 'saveUploadedFileDescription', { filedescription: 'some file description', fileName: fileName } );
在onComplete中:

$.post( 'saveUploadedFileDescription', { filedescription: 'some file description', fileName: fileName } );
在控制器中:

actionSaveUploadedFileDescription($filedescription,$filename) {
    // ....
}

非常感谢你。这正是我想要的。