yii无法上传文件(未设置multipart / form-data)

时间:2012-09-30 11:18:21

标签: file-upload yii multipartform-data

我无法上传图片,因为表单的enctype是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++;
} ?>

选择文件并提交后,我会在Firebug中看到发布数据:

enctype - "application/x-www-form-urlencoded" 

和空文件名参数。

$_FILES

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

那么,为什么'htmlOptions' => array('enctype' => 'multipart/form-data')没有工作?

更新 生成表单的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>

1 个答案:

答案 0 :(得分:0)

我已经发现它是EUpdateDialog问题(我曾经用它来呈现我的表单)。我需要组织ajax上传

相关问题