19.07.2013, 22:29
|
Профессор
|
|
Регистрация: 27.04.2012
Сообщений: 1,410
|
|
сохранить файл
Добрый вечер!
есть файл на сервере и через window.open(url, '_blank'); его надо сохранить, не открыть как файл. можно ли такое реализовать?
|
|
19.07.2013, 22:43
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от skrudjmakdak
|
есть файл на сервере и через window.open(url, '_blank'); его надо сохранить, не открыть как файл. можно ли такое реализовать?
|
почитай как сервер отдаёт файлы на загрузку и какие заголовки при этом отдаёт
|
|
19.07.2013, 22:46
|
Профессор
|
|
Регистрация: 27.04.2012
Сообщений: 1,410
|
|
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
|
|
19.07.2013, 23:02
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
и в чём вопрос, если знаешь какие заголовки нужно отдавать(не вглядывался ни в первый ни в второй твой пост)? вся "магия" в заголовках, а что как делается(в т.ч заголовки) можно посмотреть на любом сайте , предлагающем сохранить файлы -всё под руками
|
|
19.07.2013, 23:55
|
Профессор
|
|
Регистрация: 27.04.2012
Сообщений: 1,410
|
|
в каком месте их прописывать, вот это я не догоню))
|
|
20.07.2013, 01:26
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от skrudjmakdak
|
его надо сохранить, не открыть как файл. можно ли такое реализовать?
|
Нельзя. Если это известный mime-тип, то браузер его отобразит, вместо предложения сохранить. Нет такой возможности форсировать сохранение файла. Можно только в webkit, который поддерживает на ссылках атрибут download="filename.ext", и то, не уверен что по click() произойдет сохранение файла.
|
|
20.07.2013, 14:14
|
Профессор
|
|
Регистрация: 27.04.2012
Сообщений: 1,410
|
|
danik.js, ок. спс
|
|
21.07.2013, 03:44
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Если на своём же домене, можно хакнуть в новых браузерах через XMLHttpRequest; MimeType("text/plain;
var xhr = new XMLHttpRequest();
xhr.open(svr,src,true);
xhr.overrideMimeType("text/plain; charset=x-user-defined");
|
|
21.07.2013, 04:15
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
И че толку от XHR? Речь ведь про сохранение файла. Разве что потом отдать через data:uri? Но тогда и расширение файла ведь соответствующее получится - file.txt, да вобще, имя файла ведь не задашь..
|
|
21.07.2013, 12:39
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от Дзен-трансгуманист
|
Поновее будет xhr.responseType = 'arraybuffer', а бинарный буфер в xhr.response.
|
Дык буфер подразумевался автоматом - иначе не передать-сформировать последующий преобразование а бинарник и отдачу через FileReader
|
|
|
|