1
我想单个文件上传使用Kartik的FileInput。通过标准执行此操作时Yii2:结合Kartik的FileInput和Kartik的DetailView
事情去细创建形式为以下收益非空:
$filedata = UploadedFile::getInstance($model, 'filedata');
进入卡尔蒂克的的DetailView在编辑模式下,试图更新但它总是返回空文件。
在view.php
我:
[
'attribute' => 'filedata',
'visible' => Yii::$app->user->can('doIt'),
'type' => DetailView::INPUT_FILEINPUT,
'rowOptions' => ['class' => 'kv-view-hidden'],
'widgetOptions' => ['options' => ['accept' => 'application/pdf'],
'pluginOptions' => [
'showUpload' => false,
'allowedFileExtensions' => ['pdf'],
'initialCaption' => $model->filename,
],
'pluginEvents' => [
'filecleared' => <whatever>,
'fileloaded' => <whatever>,
],
],
],
而在_form.php
(其中不工作):
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?>
<?= $form->field($model, 'filedata')->widget(FileInput::classname(), [
'options' => ['accept' => 'application/pdf'],
'pluginOptions' => [
'showUpload' => false,
'allowedFileExtensions' => ['pdf'],
'initialCaption' => $model->getOldAttribute('filename'),
],
'pluginEvents' => [
'filecleared' => <whatever>,
'fileloaded' => <whatever>,
],
])
?>
任何想法? (顺便说一下,不知道'multipart/form-data'
是否需要view.php
,因为它在_form.php
,所以任何人确认这一点,并提供一些细节应该是受欢迎的)。