Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 05.02.2014, 16:38
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Вы можете загрузить файл на страницу и сохранить страницу как файл со всеми загруженными файлами. Для оператора эникейщика это сверх его интеллекта. Только мало-мальски грамотный человек так может сделать и только с теми mime-типами, которые могут быть загружены на страницу как таковые.

Если я наделал кучу тегов <img src="http://example.com/example093.jpg"> то открыв страницу загружу все что перечислено. По той же схеме, наверно, можно загрузить и аудио-файлы, но боюсь что они струячаться. То есть начнут загружаться только в момент проигрывания.

Другими словами файлы для которых страница НЕ резервуар могут быть направлены только на диск. А туда их пустят только с согласия юзера, после диалога с ним. Иначе это было бы звездец, а не веб.

Разумеется лучший способ это выдать файлы одним файлом с сервера. На php, в частности, полно встроенных и готовых решений по архивированию и скачиванию.
Ответить с цитированием
  #12 (permalink)  
Старый 05.02.2014, 16:41
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Внешне выглядит как самый настоящий баян. Юзер жмет кнопку, или ссылку, скрипт по ссылке собирает файло, архивирует, копирует и выкатывает заголовки на скачивание. Юзер открывает файлу дорогу - поехали.

Кстати, то что загружено или создано на странице в html5 можно сохранить на диск как файл, не без диалога, конечно: http://eligrey.com/demos/FileSaver.js/

И бинарные файлы наверно можно. Но я все равно не понимаю что делать с ответом сервера, который выдал mp3 с соответствующим mime. То есть круг замыкается. Сервер должен выдавать что-то другое, блобное, но тогда зачем браузер мучить. На сервере все чисто можно сделать.

Последний раз редактировалось kostyanet, 05.02.2014 в 16:50.
Ответить с цитированием
  #13 (permalink)  
Старый 05.02.2014, 16:59
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Тем не менее попробуйте применить что тут народ пишет, похожая задача:

http://stackoverflow.com/questions/6...rome-extension

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

Технология оправдана когда ресурс уже загружен или непосредственно создан в браузере. Ну то есть когда на сервере нет текста "привет Вася, кагдила", или картинки с мордой Васи, но все это есть в браузере и все это надо сохранить на диск как файл.

Если же данные на сервере - идите в сервер.

Последний раз редактировалось kostyanet, 05.02.2014 в 17:02.
Ответить с цитированием
  #14 (permalink)  
Старый 05.02.2014, 17:11
Интересующийся
Отправить личное сообщение для Роман Валерьевич Посмотреть профиль Найти все сообщения от Роман Валерьевич
 
Регистрация: 19.09.2011
Сообщений: 23

Сообщение от kostyanet Посмотреть сообщение
..Разумеется лучший способ это выдать файлы одним файлом с сервера. На php, в частности, полно встроенных и готовых решений по архивированию и скачиванию.
kostyanet, спасибо за советы и помощь! Буду использовать вариант с загрузкой файлов по ftp php-скриптом и архивированием.
Ответить с цитированием
  #15 (permalink)  
Старый 06.02.2014, 01:35
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от kostyanet
Файл скачивается автоматически, не спрашивая меня (в Хроме).
По-моему это звездешь. Такого не бывает
http://joomla25.fregate.org.ua/
слева внизу нажми на фотоаппарат в Хроме и Opera 19.0

Последний раз редактировалось Vlasenko Fedor, 06.02.2014 в 01:40.
Ответить с цитированием
  #16 (permalink)  
Старый 06.02.2014, 06:42
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Проверил эту фишку:

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:

Надо просто воткнуть а-элемент в страницу, щелкнуть и тут же удалить, ну или по таймеру через сек, на всякий случай.

Последний раз редактировалось kostyanet, 06.02.2014 в 07:53.
Ответить с цитированием
  #17 (permalink)  
Старый 06.02.2014, 06:49
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от Poznakomlus
слева внизу нажми на фотоаппарат в Хроме
Это нажми, а не открой страницу и оно само загрузится.

И лечится очень просто Ask where to save each file before downloading - ON. По умолчанию OFF что лишний раз доказывает ламеризм ЦА гугле хрома. В котором и хронологию нельзя отключить.

Впрочем, я уже не помню что там по умолчанию в FF. Может быть точно такое же.

Последний раз редактировалось kostyanet, 06.02.2014 в 06:51.
Ответить с цитированием
  #18 (permalink)  
Старый 06.02.2014, 07:51
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Ага, вот оно похоже на то:

http://stuk.github.io/jszip/

И в применении http://stackoverflow.com/questions/1...s-in-disk-file

Да, и небольшие, как я понимаю, файлы можно сохранять через урл. http://stackoverflow.com/questions/1...s-in-disk-file

В частности это один из стандартных методов сохранения canvas.

Последний раз редактировалось kostyanet, 06.02.2014 в 08:02.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подвисание при $.ajax() в цикле amt779 jQuery 6 15.05.2013 11:55
?!Множественный вызов contextMenu!? fen0man jQuery 3 22.05.2012 10:02
popup окно в PHP цикле ryobi522 Общие вопросы Javascript 5 10.02.2012 02:18
IE6 + location.href Snipe Internet Explorer 4 12.11.2008 15:58