The code below is working well with all browsers but extension not show in safari. Maybe Content Type Issue ?
JavaScript
x
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;
}
Advertisement
Answer
I got the answer, that work in all browsers for me 🙂
JavaScript
$response->headers->set('Content-Description',' File Transfer');
$response->headers->set('Content-Disposition',' attachment; filename=' . $quoted);
$response->headers->set('Content-Transfer-Encoding',' binary');
$response->headers->set('Connection',' Keep-Alive');
$response->headers->set('Expires',' 0');
$response->headers->set('Cache-Control',' must-revalidate, post-check=0, pre-check=0');
$response->headers->set('Pragma',' public');
$response->headers->set('Content-Length', $size);
$response->headers->set('Content-Type', mime_content_type($filename));
$response->setContent($content);
return $response;