Возможно ли инициировать запрос загрузки в браузере для распознанных типов MIME, используя только JavaScript (подход на стороне клиента)?

Я хотел бы разрешить пользователю напрямую загружать файл одним щелчком мыши. Однако существует проблема, когда дело доходит до известных типов meme, таких как HTML, аудио, видео и т. Д. В идеале я бы хотел вызвать приглашение для загрузки аудио / видео файлов. В конечном счете, я хотел бы сделать это и для HTML-документов. Основная идея заключается в том, чтобы пользователям было легко загружать файлы, не прося их переходить в контекстное меню.

Я думаю, например, людям, которые не очень удобны с компьютером и его основными функциями. Эти люди, безусловно, предпочтут лучший способ, чем «сохранить как».

Причина, по которой я ищу решение для JavaScript, заключается в том, что подход PHP работает только в том случае, если вы находитесь в контексте веб-сайта. Всякий раз, когда вы находитесь внутри плагина или инъецируемого сценария (например, разрабатываете плагин для Firefox, Chrome или Safari), вам может потребоваться избежать запроса на стороне сервера.

Я попытался достичь этого с помощью window.open() и document.execCommand("saveAs",... работает, хотя и глючит и не работает для огромных файлов.

Затем я попробовал Downloadify, который не работает в каждой ситуации.

Есть ли чистый JavaScript, не Ajax способ запускать подсказку загрузки, чтобы пользователь мог напрямую загрузить файл, используя простой щелчок левой кнопкой мыши?

В HTML5 есть новый атрибут download с которым можно связывать ссылки. Он указывает браузеру, что ресурс должен быть загружен, а не навигацией. Сейчас он работает только в Chrome, но он является частью спецификации HTML и, надеюсь, будет принят другим браузером в ближайшее время.

Демо: http://html5-demos.appspot.com/static/a.download.html Дополнительная информация: http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download

Вы можете использовать . Это HTML5, и он работает с Chrome, Firefox и Edge (но не с Internet Explorer, даже с современными версиями).

Если кто-то дойдет до этого вопроса, лучшим решением будет

  

Если браузер поддерживает загрузку атрибута HTML5, начнется загрузка файла, в противном случае (в случае Internet Explorer и старых браузеров) ссылка откроет другое окно с загружаемым файлом.

  • Как загрузить видеофайл на SD-карту?
  • Загрузить файл внутри WebView
  • Файлы и подпапки файлов PowerShell FTP
  • Принудительная загрузка файла на веб-сервере - ASP.NET C #
  • Реализация паузы / возобновления загрузки файла
  • Загрузите файл и сохраните его автоматически.
  • Веб-просмотр Android: загрузка файлов, таких как браузеры
  • ANDROID: Как загрузить видеофайл на SD-карту?
  • как возобновить прерванную загрузку - часть 2
  • Загрузка большого файла - iPhone SDK
  • Возврат файла для просмотра / загрузки в ASP.NET MVC
  • Interesting Posts

    Java 9: ​​модуль java.xml.bind недоступен в Eclipse

    Могу ли я «размножить» строку (в C #)?

    Случайно получая «NO CARRIER» от модема Huawei 3G под linux

    Поиск индексов множественных / совпадающих совпадающих подстрок

    Невозможно неявно преобразовать тип ‘System.Collections.Generic.IEnumerable ‘ в ‘System.Collections.Generic.List

    Как сохранить сюжет в файл PDF без большого запаса вокруг

    Как создать резервную копию всех моих сообщений электронной почты из Mail в Dropbox?

    Каков правильный способ заполнения DropDownList из базы данных?

    Шрифт гиперссылки в Excel всегда изменяется на шрифт / размер шрифта по умолчанию

    Word: как показать скрытые вкладки ленты?

    SSLHandshakeException: нет альтернативных имен объектов

    Работает ли x4 PCIe механически в слоте x16 в режиме x4?

    Как определить class родового типа?

    Отправить cookies с завитками

    Есть ли подходящий способ справиться с перекрывающимися братьями и сестрами NSView?

    Давайте будем гением компьютера.