Скачать файл не работает хорошо в сафари с PHP - PullRequest
0 голосов
/ 12 января 2020

Приведенный ниже код хорошо работает во всех браузерах, но расширение не отображается в Safari. Может быть, проблема с типом контента?

public function CheckRoutingURLAction($filename){
    $filename = 'https://media3.s-nbcnews.com/j/newscms/2019_41/3047866/191010-japan-stalker-mc-1121_06b4c20bbf96a51dc8663f334404a899.fit-2000w.JPG';

try{
        $content = file_get_contents($filename, true, stream_context_create(array(
            "ssl" => array(
                "verify_peer" => false,
                "verify_peer_name" => false,
            ),)));
    }
    catch (\Throwable $e){
        $logger = $this->get('logger');
        $logger->err($e->getMessage());
        throw new NotFoundHttpException('Page not found');
    }

    $response = new Response();
    $response->headers->set('Content-Type', 'mime/type');
    $response->headers->set('Content-Disposition',
        'attachment;filename=Noman.png'));
    $response->setContent($content);
    return $response;
}

1 Ответ

0 голосов
/ 12 января 2020

пожалуйста, попробуйте этот код. Я всегда использую этот для загрузки внешних файлов.

$filename = 'https://media3.s-nbcnews.com/j/newscms/2019_41/3047866/191010-japan-stalker-mc-1121_06b4c20bbf96a51dc8663f334404a899.fit-2000w.JPG';

$file = basename($filename);

header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=$file");
header("Content-Transfer-Encoding: binary");

readfile($filename);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...