AJAX загрузка файла

Немогу никак разобраться с загрузкой через AJAX. Обычным способом (без аякса) все работает. Пытаюсь сделать так:

форма:



<?=CHtml::form(Yii::app()->request->baseUrl.'/user/uploadAvatar','post',array('enctype'=>'multipart/form-data')); ?>


<?=CHtml::activeHiddenField($user->avatar,'ownerID')?>


<?=CHtml::activeFileField($user->avatar, 'image'); ?>


			<? echo CHtml::ajaxSubmitButton('Обработать', Yii::app()->request->baseUrl.'/user/UploadAvatar', array(


			    'type' => 'POST',


			    'update' => '#avatar_respond',


			));


			?>


</form>


 <div id="avatar_respond">


 	


 </div>


ф-ия контролера:



function actionUploadAvatar()


{


$avatar = new Avatar;


if(isset($_POST['Avatar']))


						{


	


							$avatar->attributes = $_POST['Avatar'];


							$avatar->scenario = "upload";


							$file = CUploadedFile::getInstance($avatar,'image');





							if($avatar->save())


								{


									$avatar->file = time().''.$file;


									$avatar->save();


									$file->saveAs('images/userpics/'.time().''.$file);


									echo "загружено";


								}








						}


}


По нажатии сабмита - никакой реакции  :-[

Делаю print_r пост-массива - получаю: Array ( [ownerID] => 1 [image] => ).

Ощущение, что аякс не передает файлов, только значения полей.

Именно так - по AJAX невозможно передать файлы.

Для загрузки файлов без обновления страницы можно использовать либо iframe либо flash.

либо библиотеку Котерова, она в свое время умела это делать (jsHttpRequest)

наверное в jQuery есть плагины для таких вещей

первая ссылка же в выдаче гугла :slight_smile:

http://www.phpletter.com/Demo/AjaxFileUpload-Demo/

Спасибо за ответы :) И правда, оказалось что аяксом не передать файлов. Как большой любитель флеша, попробую воспользоваться SWFUpload. У кого-нибудь есть опыт использования его с Yii?