Вместо загрузки файлы открываются в браузере - PullRequest
0 голосов
/ 03 октября 2018

Мой PDF-файл хранится в Google Bucket, и у меня есть ссылка, скажем, https://storage.googleapis.com/bucketName/xyz.pdf. Чтобы загрузить этот файл, я делаю это,

<a href="https://storage.googleapis.com/bucketName/xyz.pdf" download> Download This File </a>

Но когда я нажимаю на этот якорьтег, вместо загрузки этого файла браузер откройте этот файл на той же вкладке, даже если я пытаюсь загрузить файл с помощью javascript и использовал этот код.

var link = document.createElement("a");
link.download = 'File.pdf';
link.href = 'https://storage.googleapis.com/bucketName/xyz.pdf';
link.click();

Но то же самое происходит снова файл открывается на той же вкладке вместо загрузки,Я не знаю, в чем главная проблема?Является ли эта корзина Google запрещает загрузку файлов, или мои настройки Chrome запрещают загрузку файлов.Это не загрузка в Chrome, я предполагаю, что Chrome действительно разрешает загрузку из файлов CORS.

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Согласно JavaScript / jQuery для загрузки файла через POST с данными JSON создайте большой двоичный объект и используйте его для возврата ссылки на файл для ссылки.

Это сообщит браузеру о вашемнамерение в соответствии с требованиями стандартов.

пример ...

$.get(/*...*/,function (result)
{
    var blob=new Blob([result]);
    var link=document.createElement('a');
    link.href=window.URL.createObjectURL(blob);
    link.download="myFileName.txt";
    link.click();

});
0 голосов
/ 03 октября 2018

Попробуйте link.target = "_blank";, это откроет файл в новой вкладке и link.download заставит его загрузить.

Пожалуйста, сообщите, если это работает.

...