Вы можете загрузить файл на страницу и сохранить страницу как файл со всеми загруженными файлами. Для оператора эникейщика это сверх его интеллекта. Только мало-мальски грамотный человек так может сделать и только с теми mime-типами, которые могут быть загружены на страницу как таковые.
Если я наделал кучу тегов <img src="http://example.com/example093.jpg"> то открыв страницу загружу все что перечислено. По той же схеме, наверно, можно загрузить и аудио-файлы, но боюсь что они струячаться. То есть начнут загружаться только в момент проигрывания. Другими словами файлы для которых страница НЕ резервуар могут быть направлены только на диск. А туда их пустят только с согласия юзера, после диалога с ним. Иначе это было бы звездец, а не веб. Разумеется лучший способ это выдать файлы одним файлом с сервера. На php, в частности, полно встроенных и готовых решений по архивированию и скачиванию. |
Внешне выглядит как самый настоящий баян. Юзер жмет кнопку, или ссылку, скрипт по ссылке собирает файло, архивирует, копирует и выкатывает заголовки на скачивание. Юзер открывает файлу дорогу - поехали.
Кстати, то что загружено или создано на странице в html5 можно сохранить на диск как файл, не без диалога, конечно: http://eligrey.com/demos/FileSaver.js/ И бинарные файлы наверно можно. Но я все равно не понимаю что делать с ответом сервера, который выдал mp3 с соответствующим mime. То есть круг замыкается. Сервер должен выдавать что-то другое, блобное, но тогда зачем браузер мучить. На сервере все чисто можно сделать. |
Тем не менее попробуйте применить что тут народ пишет, похожая задача:
http://stackoverflow.com/questions/6...rome-extension Теоретически вы можете собрать в блоб загружаемые файлы, но практически я слабо представляю что затем с этим блобом делать. Технология оправдана когда ресурс уже загружен или непосредственно создан в браузере. Ну то есть когда на сервере нет текста "привет Вася, кагдила", или картинки с мордой Васи, но все это есть в браузере и все это надо сохранить на диск как файл. Если же данные на сервере - идите в сервер. |
Цитата:
|
Цитата:
слева внизу нажми на фотоаппарат в Хроме и Opera 19.0 :haha: |
Проверил эту фишку:
var oB = new Blob(['some text'], {type:'text/html'}); var a = document.createElement('a'); window.URL = window.webkitURL || window.URL; a.download = 'report.csv'; a.href = window.URL.createObjectURL(oB); console.log(a.href); a.click(); В консоль печтает blob: и какой-то код. Диалога сохранения файла не возникает. Полная тишина. Точно такой же код где ссылка реальная и кличется - работает. UPD: Надо просто воткнуть а-элемент в страницу, щелкнуть и тут же удалить, ну или по таймеру через сек, на всякий случай. |
Цитата:
И лечится очень просто Ask where to save each file before downloading - ON. По умолчанию OFF что лишний раз доказывает ламеризм ЦА гугле хрома. В котором и хронологию нельзя отключить. Впрочем, я уже не помню что там по умолчанию в FF. Может быть точно такое же. |
Ага, вот оно похоже на то:
http://stuk.github.io/jszip/ И в применении http://stackoverflow.com/questions/1...s-in-disk-file Да, и небольшие, как я понимаю, файлы можно сохранять через урл. http://stackoverflow.com/questions/1...s-in-disk-file В частности это один из стандартных методов сохранения canvas. |
Часовой пояс GMT +3, время: 05:04. |