@BloodVIRUS

Можно ли сохранить файл полученный от веб сервера средствами js?

Здравствуйте. Делаю возможность выгрузки файла с сервера, средствами js. Есть ли возможность это сделать в один этап через js? Суть в том, что на стороне сервера этот файлик собирается достаточно долго и сложно. Т.е идут множество запросов в бд, множество копирований файлов, формирование структуры, и в конечном счете архивирование, отдача пользователю. Еще нужно проверить перед этим, конкретно данный пользователь имеет ли право на создание архива, и имеет ли доступ к файлам. В голове крутится только реализация в 2 этапа: Первым ajax обращение к серверу, тот проверяет права, создает архив, и дает ссылку на скачивание. А вторым эта ссылка показывается пользователю, и он на нее нажимая скачивает файл. А так чтобы пользователь нажал на кнопку, прошло какое то время, и скачка пошла сама по себе? Ведь если делать как я придумал, то файл будет болтаться где то в папке веб сервера, доступен из вне для скачивания, и нужно писать какой то сборщик мусора на том же кроне. А елси бы все в один этап, то после отдачи файла в том же php скрипте я мог бы его удалить. Т.е на сервер ушел запрос, на сервере проверились все данные, и вернулся результат в виде файла, или ошибка с текстом. Если я веб сервером отдаю файл habrahabr.ru/post/151795 любым подобным способом, js считает ответ текстовым, со всеми вытекающими..
Спасибо.
  • Вопрос задан
  • 640 просмотров
Пригласить эксперта
Ответы на вопрос 2
@hime2
А что вам мешает сделать его копию ну или наконец в кэш затолкать его?
Можно сделать на чистом js+node.js или v8, вариантов много, но советую не городить велосипеды, а просто кэшировать.
Ответ написан
copist
@copist
Empower people to give
1. Отправь готовы файл пользователю по электронной почте
2. Сделай реализацию слушателя событий на веб-сокетах и сообщай пользователю, когда сервер выдаст событие "файл готов".

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

Генери длинный случайный URL. Удаляй по крону. Не вижу проблем.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы