andku83 писал(а): ↑2018.03.21, 01:03
понятнее не стало.
покажите ваш код который отвечает за эту реализацию (модель, action, view)
View:
Код: Выделить всё
<?= $form->field($model_registration, 'piece_verso_doc')->widget(FileUpload::classname(), [
// 'model' => $model,
// 'attribute' => 'image',
'url' => Url::to(['/driver/identity-verso-doc']), // your url, this is just for demo purposes,
'options' => [
'accept' => 'image/*'],
'clientOptions' => [
'singleFileUploads' => true,
'limitMultiFileUploads' => 1,
'maxFileSize' => 1000000
],
// Also, you can specify jQuery-File-Upload events
// see: https://github.com/blueimp/jQuery-File-Upload/wiki/Options#processing-callback-options
'clientEvents' => [
'fileuploadprogressall' => 'function(e, data) { }',
],
])->label(false);
?>
Controller:
Код: Выделить всё
public function actionIdentityVersoDoc(){ // Passport resto
$model = new RegistrationDriver();
if(Yii::$app->request->isPost){
$model->piece_verso_doc = UploadedFile::getInstance($model, 'piece_verso_doc');
$model->scenario = 'upload_image';
$model->document_upload = 'piece_verso'; // zadaem logiku v kakoi papke sozdavat
$model->name_field = 'piece_verso_doc'; // Peredaem imya polya chto bi mojno bilo znat kakaya kartinka zakachivatysa budet
if($model->upload()){
Yii::$app->response->format = Response::FORMAT_JSON;
$row_for_user = RegistrationDriver::find()->where(['user_id'=>Yii::$app->user->id])->limit(1)->one();
$model->scenario = 'save_as_string';
$row_for_user->piece_verso_doc = $model->image_name_full;
$row_for_user->upload_image_count = $row_for_user->upload_image_count +1; // uvelichivaem schetchik pro udachnoi zagruzki kartinki
if(!$row_for_user->save()){
$error_first = array_values($row_for_user->getFirstErrors());
Yii::warning(serialize($error_first));
return ["error" => $error_first] ;
};
Yii::warning('vse ok');
$result = [
'message'=> Yii::t('users', 'IMAGE_UPLOADED_S'),
'files' => [
[
'name' => $model->image_name_full,
'size' => '',
// 'url' => '/uploads_registration_driver/' . $model->document_upload.'/' . $model->image_name_full,
'url' => '<img class="preview_my_image" src="/uploads_registration_driver/' . $model->document_upload.'/' . $model->image_name_full.'">',
'delete_btn' => "<a data-url='piece_verso' href='#' class='btn btn-xs btn-danger delete_btn_doc'><i class='fa fa-trash-o'></i> ".Yii::t('users', 'DELETE')."</a>",
]
]
];
return $result;
}
else {
$error_arr = [];
foreach ($model->getErrors() as $error=>$value){
array_push($error_arr, $value);
}
return '{"error": "'.$error_arr[0][0].'"}';
}
}
else {
Yii::warning(serialize($model->getErrors()));
}
}
Model:
....
[['piece_recto_doc', 'piece_verso_doc'], 'string', 'max'=>50, 'on'=> 'save_as_string'],
[['piece_verso_doc'], 'file', 'extensions' => 'png, jpg', 'skipOnEmpty' => false, 'checkExtensionByMimeType'=>true, /*'maxFiles' => 1, */ 'maxSize' => 10000000, 'on'=> 'upload_image'],
....