Передать файл на сервер

1. DimaP 63 24.08.10 22:35 Сейчас в теме
Похожие темы есть, но связанные с вэб-клиентом.
У меня такая ситуация:
есть сервер 1с, платформа 8.2.9
На клиенте пользователь указывает файл (док, докХ,пдф) и он затем переименовывается как надо и пересывалется на сервер, где сохраняется в определённом каталоге.

Как реализовать такое без фтп и интернетов?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DimaP 63 25.08.10 08:43 Сейчас в теме
Разобрался.

        НовоеИмя         = СтрТаб.НовоеИмя;
        ПолноеИмяФайла   = СтрТаб.ПолноеИмяФайла;
        АдресХранища     = ПоместитьВоВременноеХранилище(ПолноеИмяФайла,);
        Расширение       = СтрТаб.Расширение;
        ПоместитьФайл(АдресХранища,ПолноеИмяФайла,ПолноеИмяФайла,Ложь,);
        
        Исход = РаботаСФайлами.СохранитьФайлНаСервере(АдресХранища,ПутьСервера,НовоеИмя+Расширение);


Функция СохранитьФайлНаСервере(АдресХранилища, Путь, НовоеИмя = Неопределено) Экспорт 
    ФайлИзХранилища = ПолучитьИзВременногоХранилища(Строка(АдресХранилища));
    ФайлИзХранилища.Записать(Путь+НовоеИмя);
    //КопироватьФайл(ФайлИзХранилища,Путь+НовоеИмя);
    СуществованиеФайла = Новый Файл(Путь+НовоеИмя);
    ЕстьФайл = СуществованиеФайла.Существует();
    Если ЕстьФайл Тогда 
        Возврат НовоеИмя;
    Иначе 
        Возврат ЕстьФайл;   
    КонецЕсли;
    
КонецФункции
Показать


Что-то в таком стиле. Сейчас буду решать обратную задачу - вытаскивание )
3. DimaP 63 02.09.10 12:42 Сейчас в теме
Рано закрыл тему.
Данная фишка работает только если сервер и клиент на одной машине, на сетевых не работает :(
4. tango 543 02.09.10 14:39 Сейчас в теме
без фтп легко, без интернетов - врядли, если интернеты - это хтмл
5. DimaP 63 02.09.10 16:22 Сейчас в теме
Смысл такой:
СКЛ-сервер есть, на нем же каталог неких файлов
Клиентская машина в этой же сети и надо не неё передать файлик этот
Пытаюсь через Временное хранилище - фиг там: на сервере работает нормально, т.е. я закинул ДвоичныеДанные и их же получил на клиенте, но стоит перейти на другую машину (не сервер) и всё - вместо двичных данных получаю строку адреса файла на сервере. Бред какой-то.

На сервере через функцию получаю адрес хранилища, она же кидает туда файл; идет такой код:
    ПолноеИмяФайла      = ПутьСервера+ИмяФайла;
    ФайлДляПередачи = Новый ДвоичныеДанные(ПолноеИмяФайла);
    
    АдресХранища        = ПоместитьВоВременноеХранилище(ФайлДляПередачи,);


На клиенте:
    ПодключитьРасширениеРаботыСФайлами();
    // имя файла G:\web\test\www\book\13.pdf
    ПолныйПутьКФайлу = "G:\web\test\www\book\13.pdf";
    // Получаем адрес хранилища, чтобы из него извлечь ДвоичныеДанные
    АдресФайла = ПолучитьФайлНаСервере("13.pdf","G:\web\test\www\book\");
    
    Данные = ПолучитьИзВременногоХранилища(АдресФайла);
    Сообщить(ТипЗнч(Данные));
    Сообщить(Данные);
Показать


И вот результат!
На клиенте, если выполняется на серверной машине:
Двоичные данные
ДвоичныеДанные


На клиенте через сеть:
Строка
G:\web\test\www\book\13.pdf
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот