@Ace_Viral

Приходит файл 0 байт в yii2, почему?

Action в моем контроллере:
public function actionGetFile($id)
	{
		if(($file = Upload::findOne(['id' => $id])) !== NULL){
			return \Yii::$app->response->sendFile(
				Site::UPLOADS_DOMAIN . '/' . $file->getFilePath(false),
				$file->original_name . "." . $file->original_extension,
				['mimeType'=>$file->mime_type, 'inline'=>false]
			);
		}
		else
			throw new NotFoundHttpException('The selected file does not exist.');
	}

отправляю get запрос в /controller-name/get-file?id=n
файл начинает скачиваться но он 0 байт
если сделать get запрос в Site::UPLOADS_DOMAIN . '/' . $file->getFilePath(false)
файл начинает скачиваться но с другим названием так мне не надо, мне надо чтобы я мог изменять его название
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Вы передаете урл, а нужен локальный путь:
return \Yii::$app->response->sendFile(
        $_SERVER['DOCUMENT_ROOT'] . '/' . $file->getFilePath(false),
        $file->original_name . "." . $file->original_extension,
        ['mimeType'=>$file->mime_type, 'inline'=>false]
      );

Разберитесь уже один раз в разнице между относительными путями, абсолютными и урл.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы