File upload 易能';t上载文件(未设置多部分/表单数据)

File upload 易能';t上载文件(未设置多部分/表单数据),file-upload,yii,multipartform-data,File Upload,Yii,Multipartform Data,我无法上载图像,因为表单类型为application/x-www-form-urlencoded。我使用以下代码: $form=$this->beginWidget('CActiveForm', array( 'htmlOptions' => array('enctype' => 'multipart/form-data'), )); 对于少数文件输入: $i = 0; foreach ($model->scans as $scan) { ?> &

我无法上载图像,因为表单类型为
application/x-www-form-urlencoded
。我使用以下代码:

$form=$this->beginWidget('CActiveForm', array(
    'htmlOptions' => array('enctype' => 'multipart/form-data'),
));
对于少数文件输入:

$i = 0;
foreach ($model->scans as $scan) { ?>
    <fieldset>
    ...
    <dd><?php echo $form->fileField($scan,'file_name', array('size'=>'10', 'name'=>get_class($scan).'['.$i.'][file_name]')); ?></dd>
    ...
    </fieldset>
    <?php       $i++;
} ?>
和空文件名参数

$_FILES
是空的,所以我无法获取文件

那么,为什么
'htmlOptions'=>array('enctype'=>'multipart/formdata')
不起作用呢

更新: 生成表单的Html源代码正确:

<form id="yw0" method="post" action="/office/index.php?r=project/profileCreate" enctype="multipart/form-data">
<fieldset>
...
<dd>
<input id="ytProfileScan_0_file_name" type="hidden" name="ProfileScan[0][file_name]" value="">
<input id="ProfileScan_0_file_name" type="file" name="ProfileScan[0][file_name]" size="10">
</dd>
...
</fieldset>

...
...

我发现这是EUpdateDialog问题(我用来呈现表单)。我需要组织ajax上传

您在浏览器的HTML源代码上看到了什么?您的表单标签是否包含enctype作为“多部分/表单数据”?@SuVeRa,是源代码正确:
<form id="yw0" method="post" action="/office/index.php?r=project/profileCreate" enctype="multipart/form-data">
<fieldset>
...
<dd>
<input id="ytProfileScan_0_file_name" type="hidden" name="ProfileScan[0][file_name]" value="">
<input id="ProfileScan_0_file_name" type="file" name="ProfileScan[0][file_name]" size="10">
</dd>
...
</fieldset>