Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   сохранить файл (https://javascript.ru/forum/misc/39987-sokhranit-fajjl.html)

skrudjmakdak 19.07.2013 22:29

сохранить файл
 
Добрый вечер!

есть файл на сервере и через window.open(url, '_blank'); его надо сохранить, не открыть как файл. можно ли такое реализовать?

dmitriymar 19.07.2013 22:43

Цитата:

Сообщение от skrudjmakdak
есть файл на сервере и через window.open(url, '_blank'); его надо сохранить, не открыть как файл. можно ли такое реализовать?

почитай как сервер отдаёт файлы на загрузку и какие заголовки при этом отдаёт

skrudjmakdak 19.07.2013 22:46

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

dmitriymar 19.07.2013 23:02

и в чём вопрос, если знаешь какие заголовки нужно отдавать(не вглядывался ни в первый ни в второй твой пост)? вся "магия" в заголовках, а что как делается(в т.ч заголовки) можно посмотреть на любом сайте , предлагающем сохранить файлы -всё под руками

skrudjmakdak 19.07.2013 23:55

в каком месте их прописывать, вот это я не догоню))

danik.js 20.07.2013 01:26

Цитата:

Сообщение от skrudjmakdak
его надо сохранить, не открыть как файл. можно ли такое реализовать?

Нельзя. Если это известный mime-тип, то браузер его отобразит, вместо предложения сохранить. Нет такой возможности форсировать сохранение файла. Можно только в webkit, который поддерживает на ссылках атрибут download="filename.ext", и то, не уверен что по click() произойдет сохранение файла.

skrudjmakdak 20.07.2013 14:14

danik.js, ок. спс

Deff 21.07.2013 03:44

Если на своём же домене, можно хакнуть в новых браузерах через XMLHttpRequest; MimeType("text/plain;

var xhr = new XMLHttpRequest();
xhr.open(svr,src,true);
xhr.overrideMimeType("text/plain; charset=x-user-defined");

danik.js 21.07.2013 04:15

И че толку от XHR? Речь ведь про сохранение файла. Разве что потом отдать через data:uri? Но тогда и расширение файла ведь соответствующее получится - file.txt, да вобще, имя файла ведь не задашь..

Deff 21.07.2013 12:39

Цитата:

Сообщение от Дзен-трансгуманист
Поновее будет xhr.responseType = 'arraybuffer', а бинарный буфер в xhr.response.

:) Дык буфер подразумевался автоматом - иначе не передать-сформировать последующий преобразование а бинарник и отдачу через FileReader

Deff 21.07.2013 14:08

Есть ксать онлайн решения подобного типа
http://www.seobuilding.ru/seo-forum/...r__failovyi_h/

skrudjmakdak 22.07.2013 09:35

Цитата:

Сообщение от Deff (Сообщение 263359)
Если на своём же домене

неа, сервер не мой)

dmitriymar 22.07.2013 09:50

Цитата:

Сообщение от skrudjmakdak
неа, сервер не мой)

Цитата:

Сообщение от skrudjmakdak
Добрый вечер!

есть файл на сервере и через window.open(url, '_blank'); его надо сохранить....

а сразу информацию, что сервер чужой , можно давать?

skrudjmakdak 22.07.2013 09:53

Цитата:

Сообщение от dmitriymar (Сообщение 263508)
..............

и что? файл не на моем сервере..

skrudjmakdak 22.07.2013 09:55

а можно сделать запрос на свой сервер, а он в свою очередь модреврайт на чужой?

dmitriymar 22.07.2013 10:00

Цитата:

Сообщение от skrudjmakdak
Сообщение от dmitriymar Посмотреть сообщение
..............
и что? файл не на моем сервере..

да ничё, ничего что решения от этого зависят напрямую?

skrudjmakdak 22.07.2013 10:04

Цитата:

Сообщение от dmitriymar (Сообщение 263513)
да ничё, ничего что решения от этого зависят напрямую?

сори, виноват...


Часовой пояс GMT +3, время: 14:44.