|
Веб клиент Работа с файлами без установки расширения для работы с файлами | ☑ | ||
---|---|---|---|---|
0
tank68
26.06.15
✎
16:53
|
Как получить файл который находится на сервере по известному пути на клиентскую машину клиента без установки расширения.
|
|||
1
tank68
26.06.15
✎
16:55
|
&НаКлиенте
Процедура ПрикрепленныеФайлыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Попытка ТекСтрока = Элемент.ТекущиеДанные; ФайлНаСервере = ТекСтрока.Файл; Адрес = ПолучитьФайлНаСервере(ФайлНаСервере); ДвДанн=ПолучитьИзВременногоХранилища(Адрес); ПолучитьФайл(ДвДанн, ФайлНаСервере, Истина); Исключение КонецПопытки; КонецПроцедуры &НаСервере Функция ПолучитьФайлНаСервере(ФайлНаСервере) ИмяСсылкиПолное = ПолучитьНавигационнуюСсылку(Объект.Ссылка); ИмяСсылки = Прав(ИмяСсылкиПолное, СтрДлина(ИмяСсылкиПолное)-Найти(ИмяСсылкиПолное,"=")); КаталогКонстанта = ПолучитьКаталогИзКонстанты(); КаталогЛогФайлов = КаталогКонстанта+"\"+СокрЛП(Формат(Объект.Дата,"ДФ=""гггг\MM"""))+"\"+ИмяСсылки; ФайлИсходный = КаталогЛогФайлов+"\"+ФайлНаСервере; КаталогВременный = Константы.КаталогХраненияФайлов.Получить()+"\Temp\"; КаталогНаДиске = Новый Файл(КаталогВременный); Если Не КаталогНаДиске.Существует() Тогда СоздатьКаталог(КаталогВременный); КонецЕсли; КудаПереместитьФайл = КаталогВременный+ФайлНаСервере; КопироватьФайл(ФайлИсходный, КудаПереместитьФайл); Двоичное=Новый ДвоичныеДанные(КудаПереместитьФайл); Док = ПоместитьВоВременноеХранилище(Двоичное,УникальныйИдентификатор); Возврат Док; КонецФункции &НаСервереБезКонтекста Функция ПолучитьКаталогИзКонстанты () Возврат Константы.КаталогХраненияФайлов.Получить(); КонецФункции |
|||
2
tank68
26.06.15
✎
17:00
|
Когда на сервере помещается файл во временное хранилище на веб клиенте пишет ошибку
HTTP: Not found Ошибка при выполнении запроса GET к ресурсу /e1cib/files: по причине: Неправильный путь к файлу '' Не пойму что упускаю или может есть иные варианты получить файл с сервера без установки расширения |
|||
3
tank68
17.07.15
✎
12:21
|
up
|
|||
4
OnCheck
17.07.15
✎
12:45
|
Константы.КаталогХраненияФайлов пустая?
|
|||
5
tank68
17.07.15
✎
15:42
|
Нашел была лишняя процедура
Процедура ПрикрепленныеФайлыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Попытка ТекСтрока = Элемент.ТекущиеДанные; ФайлНаСервере = ТекСтрока.Файл; Адрес = ПолучитьФайлНаСервере(ФайлНаСервере); ПолучитьФайл(Адрес, ФайлНаСервере, Истина); Исключение КонецПопытки; КонецПроцедуры &НаСервере Функция ПолучитьФайлНаСервере(ФайлНаСервере) ИмяСсылкиПолное = ПолучитьНавигационнуюСсылку(Объект.Ссылка); ИмяСсылки = Прав(ИмяСсылкиПолное, СтрДлина(ИмяСсылкиПолное)-Найти(ИмяСсылкиПолное,"=")); КаталогКонстанта = ПолучитьКаталогИзКонстанты(); КаталогЛогФайлов = КаталогКонстанта+"\"+СокрЛП(Формат(Объект.Дата,"ДФ=""гггг\MM"""))+"\"+ИмяСсылки; ФайлИсходный = КаталогЛогФайлов+"\"+ФайлНаСервере; КаталогВременный = Константы.КаталогХраненияФайлов.Получить()+"\Temp\"; КаталогНаДиске = Новый Файл(КаталогВременный); Если Не КаталогНаДиске.Существует() Тогда СоздатьКаталог(КаталогВременный); КонецЕсли; КудаПереместитьФайл = КаталогВременный+ФайлНаСервере; КопироватьФайл(ФайлИсходный, КудаПереместитьФайл); Двоичное=Новый ДвоичныеДанные(КудаПереместитьФайл); Док = ПоместитьВоВременноеХранилище(Двоичное,УникальныйИдентификатор); Возврат Док; КонецФункции &НаСервереБезКонтекста Функция ПолучитьКаталогИзКонстанты () Возврат Константы.КаталогХраненияФайлов.Получить(); КонецФункции |
|||
6
tank68
17.07.15
✎
15:43
|
Лишней была в предыдущем коде
ДвДанн=ПолучитьИзВременногоХранилища(Адрес); |
|||
7
tank68
17.07.15
✎
15:46
|
Если кому пригодиться чтобы прикрепить файлы не устанавливая приложение для работы с файлами работает следующий код
&НаСервере Процедура СохранитьФайл(ФайлЗагрузки,Рекв1) ИмяСсылкиПолное = ПолучитьНавигационнуюСсылку(Объект.Ссылка); ИмяСсылки = Прав(ИмяСсылкиПолное, СтрДлина(ИмяСсылкиПолное)-Найти(ИмяСсылкиПолное,"=")); ИмяФайла = Прав(Рекв1,5); Расшир = Прав(ИмяФайла, СтрДлина(ИмяФайла)-Найти(ИмяФайла,".")); КаталогЛогФайлов = Константы.КаталогХраненияФайлов.Получить()+"\"+СокрЛП(Формат(Объект.Дата,"ДФ=""гггг\MM"""))+"\"+ИмяСсылки+"\"; КаталогНаДиске = Новый Файл(КаталогЛогФайлов); Если Не КаталогНаДиске.Существует() Тогда СоздатьКаталог(КаталогЛогФайлов); КонецЕсли; НовоеИмя = "Scandoc_"+СокрЛП(Формат(ТекущаяДата(),"ДФ=""гг_MM_dd-hh_mm_ss"""))+"."+Расшир; ФайлИзХранилища = ПолучитьИзВременногоХранилища(Строка(ФайлЗагрузки)); ФайлИзХранилища.Записать(КаталогЛогФайлов+НовоеИмя); //КопироватьФайл(ФайлИзХранилища,Путь+НовоеИмя); СуществованиеФайла = Новый Файл(КаталогЛогФайлов+НовоеИмя); ЕстьФайл = СуществованиеФайла.Существует(); Если ЕстьФайл Тогда Сообщить(НовоеИмя); Иначе Сообщить(ЕстьФайл); КонецЕсли; НовСтрока = Объект.ПрикрепленныеФайлы.Добавить(); НовСтрока.Файл = НовоеИмя; НовСтрока.Расширение = Расшир; НовСтрока.ДатаЗагрузки = ТекущаяДата(); НовСтрока.Пользователь = ПараметрыСеанса.ТекущийПользователь; Об = РеквизитФормыВЗначение("Объект"); Об.Записать(); ЗначениеВРеквизитФормы(Об, "Объект"); КонецПроцедуры &НаКлиенте Процедура ПрикрепитьФайл(Команда) Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда Сообщить(""+ТекущаяДата()+" Для прикрепления файлов нужно Авансовый отчет записать!!!"); Возврат; КонецЕсли; ИмяФайла = ""; ПутьФайла = ""; //Вызываем Диалоговое окно и помещаем файл Картинки из локальной файловой системы во временное хранилище Если ПоместитьФайл(ПутьФайла, , ИмяФайла, Истина)= Истина Тогда Рекв1 = ИмяФайла; //в строковый реквизит ФОТО нашей формы сохраняем ссылку на Картинку во временном хранилище ФайлЗагрузки = ПутьФайла; //для создания нового элемента в Справонике Файлы и записи Картинки в его реквизит Файл //переходим на сервер с помощью вызова серверной процедуры //РазложитьСтрокуВМассивПодстрок(Рекв1); СохранитьФайл(ФайлЗагрузки,Рекв1); КонецЕсли; //условие ЕСЛИ нужно для того, чтобы если пользователь отказался от выбора файла //мы не вызывали серверную процедуру УстановитьКартинку() ОбновитьОтображениеДокумента(); КонецПроцедуры |
|||
8
tank68
17.07.15
✎
15:53
|
Спасибо всем активным пользователям!!! )))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |