1
我無法上傳圖像,因爲表單的格式爲application/x-www-form-urlencoded
。我用這個代碼:yii無法上傳文件(多部分/表單數據未設置)
$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"
和空file_name參數。
$_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>
你在瀏覽器上的HTML源代碼上看到了什麼?你的表單標籤是否包含enctype爲「multipart/form-data」? – SuVeRa
@SuVeRa,yes源代碼正確:'