2015-08-04 2 views
-3

Привет, есть ли возможность загрузить файл в локальную систему без отображения процесса загрузки на передней панели?Как загрузить файл с помощью javascript?

Я пытаюсь, как показано ниже

var f = document.createElement("iframe"); 
    f.setAttribute("id", "theFrame"); 
    document.body.appendChild(f); 
    document.getElementById("theFrame").location = 'http://www.example.com/yourfile.doc'; 

Я могу скачать файл, но он показывал в передней части браузера, как файл получает загрузку.

+0

Простой поиск в Google скажет вам, что это риск для безопасности и невозможный. – Tejas

ответ

1

Нет. Это невозможно.

Веб-сайт по определению является ненадежным. И вы не хотите, чтобы ненадежные веб-сайты вносили изменения в вашу систему, даже если это «просто» загрузка файла (что может быть потенциально опасно, поскольку оно может содержать вирус, например).

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

(Как вы построили уже, вы можете скачать его без разрешения, вы просто не можете скрывать скачивания)

+3

Yup - с «невозможной» частью является «без отображения процесса загрузки на лицевой стороне». Вполне возможно, что веб-страница инициирует загрузку при загрузке (а не только активы). –

+0

@ T.J.Crowder Действительно. Это считается особенностью большинства разработчиков браузеров. Не очень доволен этим. Это то, что я имел в виду, поскольку «браузер думает, что это уместно», это не обязательно должно быть наше мнение об этом. –

0

Не возможно. Когда браузер обнаружит загрузку файла, он появится на панели загрузки, и вы не сможете (по крайней мере, не сможете) остановить это - это то, как работает браузер и не имеет ничего общего с кодом javascript/php ,

Я также не могу придумать какой-либо прецедент, где вы хотели бы скрыть это от своего пользователя, за исключением злонамеренных намерений (например, вируса).

Смежные вопросы