class FilesController extends \yii\web\Controller
{
public $defaultAction = 'download';
- public $enableCsrfValidation = false;
+
public function actions()
{
return [
'download' => \yii_app\actions\files\DownloadAction::class,
];
}
-
- public function actionUpload()
- {
- Yii::error(Yii::$app->request->post(), 'upload');
- Yii::error($_FILES, 'upload');
- file_put_contents(Yii::getAlias('@runtime/logs/upload.log'), print_r($_FILES, true), FILE_APPEND);
-
- $file = UploadedFile::getInstanceByName('upload');
- if (!$file) {
- throw new BadRequestHttpException('No file uploaded.');
- }
-
- $filePath = FileService::saveUploadFileAndReturnUrl($file);
-
- $fullUrl = Yii::$app->request->hostInfo . '/web' . $filePath;
-
- file_put_contents(Yii::getAlias('@runtime/logs/upload.log'), print_r($fullUrl, true), FILE_APPEND);
-
- return $this->asJson(['url' => $fullUrl]);
- }
}
return '/' . $targetFile;
}
- public static function saveUploadFileAndReturnUrl($file) {
- $targetDir = Yii::getAlias('@webroot/uploads') . '/' . Yii::$app->user->id . '/' . date("Y") . "/" . date("m") . "/" . date("d");
-
- if (!is_dir($targetDir)) {
- mkdir($targetDir, 0777, true);
- }
-
- $targetFile = $targetDir . "/" . substr(md5_file($file->tempName), 0, 8) . '_' . $file->baseName . '.' . $file->extension;
- $file->saveAs($targetFile);
-
- $relativePath = str_replace(Yii::getAlias('@webroot'), '', $targetFile);
-
- return $relativePath;
- }
-
public static function saveUploadedImage($file, $entity, $entity_id) {
$imagePath = \Yii::getAlias('@uploads-images-path');
$target_dir = $imagePath . '/' . Yii::$app->user->id . '/' . date("Y") . "/" . date("m") . "/" . date("d");