Я использую Laravel. Я не хочу возвращать URL-адрес PDF-файла во внешний интерфейс, так как он находится в облаке Google, и я не хочу, чтобы ссылка была видна. Вот почему мне нужно вернуть pdf напрямую и позволить пользователю загрузить его через браузер.
Я попробовал это:
return response()->json(['data' => file_get_contents(Storage::url($cert_path))]);
//this says: malformed utf-8 characters, 500 error
Тогда я погуглил и попробовал это:
$file = file_get_contents(Storage::url($cert_path));
$file = mb_convert_encoding($file, 'HTML-ENTITIES', "UTF-8");
return response()->json(['data'=>$file]);
//this returns pdf, but in front, when i have a download code of js, when I download it, the whole pdf is empty.
URL-адрес pdf правильный, так как я могу перейти к этому URL-адресу и посмотреть pdf.
как мне успешно вернуть pdf?
Я также включу код загрузки javascript:
var blob = new Blob([pdf], {
type: 'application/pdf'
});
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = "ffa.pdf";
link.click();