Validation 使用mimetypes文件验证时yii unsecure属性

Validation 使用mimetypes文件验证时yii unsecure属性,validation,file-upload,yii,mime-types,runtime-error,Validation,File Upload,Yii,Mime Types,Runtime Error,我使用以下mime类型文件验证 array('image', 'file', 'allowEmpty' => true,'mimeTypes'=>'image/gif, image/jpeg, image/jpg, image/png', 'on' => 'update') 如果一个文件没有正确的mime类型,那么它可以很好地工作。 但是,如果验证成功,logg将 2012/09/27 17:13:02 [warning] [application] unsafe Attr

我使用以下mime类型文件验证

 array('image', 'file', 'allowEmpty' => true,'mimeTypes'=>'image/gif, image/jpeg, image/jpg, image/png', 'on' => 'update')
如果一个文件没有正确的mime类型,那么它可以很好地工作。 但是,如果验证成功,logg将

2012/09/27 17:13:02 [warning] [application] unsafe Attribut "image" couldnt be set.
但它被明确宣布为save

array('image', 'safe', 'on' => 'update')
这就是为什么我会收到这样的错误

finfo_file(C:\xampp\tmp\php3729.tmp): failed to open stream: No such file or directory
$mimeType=finfo_file($info,$file->getTempName());
   if (isset($_POST['User'])) {
            $user->attributes = $_POST['User'];
            $user->image = CUploadedFile::getInstance($user, 'image');
            if ($user->validate()) {
似乎无法保存该文件,因为它具有不安全属性。 奇怪的是,如果我用mimeTypes check取消对验证规则的注释,那么一切都可以正常工作

在我的控制器中,我像这样设置图像文件

finfo_file(C:\xampp\tmp\php3729.tmp): failed to open stream: No such file or directory
$mimeType=finfo_file($info,$file->getTempName());
   if (isset($_POST['User'])) {
            $user->attributes = $_POST['User'];
            $user->image = CUploadedFile::getInstance($user, 'image');
            if ($user->validate()) {
我相信您在保存整个模型之前运行了$user->image->saveAs$path,这就是为什么它试图验证临时文件夹中的文件,而该文件已经移动到$path。 所以,在保存模型后,使用$user->validate或运行saveAs$path