2017-01-03 6 views
1

Kartik의 FileInput을 사용하여 단일 파일 업로드를 시도하고 있습니다. 표준을 통해이 작업을 수행 할 때Yii2 : Kartik의 FileInput 및 Kartik의 DetailView 조합하기

상황이null이 아닌 다음과 같은 수익률로 양식을 만들 미세 이동 :

편집 모드에서 Kartik의 DetailView에 가서 업데이트하려고 할 때 항상 를 반환하지만
$filedata = UploadedFile::getInstance($model, 'filedata'); 

파일. 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에있는 것처럼 여겨지므로 누구나이를 확인하고 일부 내용을 환영해야합니다.) 환영합니다. 다음과 같이 물론

답변

0

는 다중/폼 데이터뿐만 아니라 모두 _form.phpview.php 필요하다 :

'formOptions' => ['options' => ['enctype' => 'multipart/form-data']], 
'attributes' => [ 
... 
[ 
    '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>, 
    ], 
    ], 
], 
.... 
]