Доброго времени суток!
Я совсем новичок в yii2 и хочу реализовать REST API для менеджера записок, мне необходимо сделать прикрепления к записки какого нибудь файла.
Также надо будет сохранять файл в корне проекта, а в бд хочу сохранять только путь к файлу.
Подскажите пожалуйста как это можно сделать.
Т.е запрос должен выглядеть примерно так:
Вот что я набросал, но это не работает(((
public function actionUpload()
{
$model = new UploadForm();
if (Yii::$app->request->isPost)
{
$model->file = UploadedFile::getInstanceByName('file');
$fileName = $model->upload();
if ( $fileName ) {
// File upload succeeded
// return Util::success( $fileName );
return [
'status' => Status::STATUS_OK,
'message' => 'OK',
'data' => ['hasErrors' => $model->hasErrors(),
'getErrors' => $model->getErrors(),]
];
}else{
// Return Util::error( 'File cannot be saved');
$model->getErrors();
return [
'status' => Status::STATUS_BAD_REQUEST,
'message' => 'File cannot be saved',
'data' => ['hasErrors' => $model->hasErrors(),
'getErrors' => $model->getErrors(),]
];
}
}else{
return [
'status' => Status::STATUS_UNAUTHORIZED,
'message' => 'File cannot be saved',
'data' => []
];
}
}
UploadForm в моделях:
public function actionUpload()
{
$model = new UploadForm();
if (Yii::$app->request->isPost)
{
$model->file = UploadedFile::getInstanceByName('file');
$fileName = $model->upload();
if ( $fileName ) {
// File upload succeeded
// return Util::success( $fileName );
return [
'status' => Status::STATUS_OK,
'message' => 'OK',
'data' => ['hasErrors' => $model->hasErrors(),
'getErrors' => $model->getErrors(),]
];
}else{
// Return Util::error( 'File cannot be saved');
$model->getErrors();
return [
'status' => Status::STATUS_BAD_REQUEST,
'message' => 'File cannot be saved',
'data' => ['hasErrors' => $model->hasErrors(),
'getErrors' => $model->getErrors(),]
];
}
}else{
return [
'status' => Status::STATUS_UNAUTHORIZED,
'message' => 'File cannot be saved',
'data' => []
];
}
}