|
Выгрузка текстового файла на веб клиенте |
☑ |
0
antipod13
05.09.19
✎
10:56
|
Лазил в интернете - мало что понял.
В общем у нас веб клиент, нужно сохранить текстовый файл на машине клиента с выбором каталога, но имя задается програмно, как это сделать?
|
|
1
Beduin
05.09.19
✎
10:58
|
Ничем не отличается.
|
|
2
spiller26
05.09.19
✎
11:12
|
(0) На клиенте как обычно, примерно так.
&НаКлиенте
Процедура СохранитьДеревоВФайл(Команда)
ДиалогСохраненияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
ДиалогСохраненияФайла.Фильтр = "Файлы Дерева (*.tab) |*.tab";
ДиалогСохраненияФайла.Заголовок = "Укажите имя файла для сохранения!";
ДиалогСохраненияФайла.ПредварительныйПросмотр = Ложь;
ДиалогСохраненияФайла.МножественныйВыбор = Ложь;
ДиалогСохраненияФайла.Расширение = "tab";
Если ДиалогСохраненияФайла.Выбрать() Тогда
ФайлДанные = ИспользоватьВременныйФайл();
ФайлДанные.Записать(ДиалогСохраненияФайла.ПолноеИмяФайла);
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ИспользоватьВременныйФайл()
тДерево = РеквизитФормыВЗначение("ДеревоОстатков");
Попытка
ИмяВремФайл = ПолучитьИмяВременногоФайла();
ВремФайл = Новый Файл(ИмяВремФайл);
ЗначениеВФайл(ИмяВремФайл, тДерево);
Если ВремФайл.Существует() Тогда
ФайлДанные = Новый ДвоичныеДанные(ИмяВремФайл);
Хранилище = Новый ХранилищеЗначения(ФайлДанные);
КонецЕсли;
УдалитьФайлы(КаталогВременныхФайлов(), ИмяВремФайл);
Исключение
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ОписаниеОшибки()); //сообщение пользователю
КонецПопытки;
Возврат Хранилище.Получить();
КонецФункции
|
|
3
ДенисЧ
05.09.19
✎
11:19
|
"Если ДиалогСохраненияФайла.Выбрать() Тогда"
Это на вебе работать в 99% случаев не будет
|
|
4
spiller26
05.09.19
✎
11:28
|
(3) Не знаю, но работает без нареканий.
|
|
5
Kigo_Kigo
05.09.19
✎
11:31
|
(3) С какого перепугу?
|
|
6
RomanYS
05.09.19
✎
11:32
|
(4)(5) модальность же
|
|
7
spiller26
05.09.19
✎
11:38
|
(6) Ну тогда вот
|
|
8
spiller26
05.09.19
✎
11:39
|
(7) Через метод "ПоместитьФайлы"
|
|