Не получается передать файл через фтп.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Функция ПодключитьсяКFTPСерверу(АдресСервера, Порт, Пользователь, Пароль, Каталог, ПассивноеСоединение = Истина)
// 1C@bk62.biz GAB 2021.09.04 {
Соединение = Новый FTPСоединение(
АдресСервера,
Порт,
Пользователь,
Пароль,
Неопределено,
ПассивноеСоединение,
60,
Неопределено
);
пКаталог = СокрЛП(Каталог);
пКаталог = СтрЗаменить(пКаталог, "\", "/"); // Путь нужно указывать только с прямыми слешами вместо обратных, например: /TEST/
Если НЕ ПустаяСтрока(пКаталог) Тогда
Соединение.УстановитьТекущийКаталог(пКаталог);
КонецЕсли;
Возврат Соединение;
// 1C@bk62.biz GAB 2021.09.04 }
КонецФункции
Показать Если FTPИзображенияПодключенУспешно И ЗначениеЗаполнено(Выборка.ПрисоединенныйФайл) И НЕ Выборка.ПрисоединенныйФайл.ПометкаУдаления Тогда
Попытка
УжеВыгруженные = ТЗИзображений.НайтиСтроки(Новый Структура("ПрисоединенныйФайл,Выгружен", Выборка.ПрисоединенныйФайл, Истина));
Если УжеВыгруженные.Количество() = 0 Тогда
ИмяФайлаИзображения = Выборка.НаименованиеФайла + "." + Выборка.Расширение;
//Если Объект.ВыгружатьИзображения Тогда
УжеЗагружен = FTPИзображения.НайтиФайлы(ИмяФайлаИзображения);
//УжеЗагружен = Новый Массив();
Если УжеЗагружен.Количество() = 0 Тогда
// скопируем наш файл изображения на FTP и в локальный каталог
ИмяФайлаИзображенияВЛокальномКаталоге =
ЛокальныйКаталогОбмена + ?(Прав(ЛокальныйКаталогОбмена, 1) = "\", "", "\") +
?(НЕ ПустаяСтрока(ПодКаталогИзображенийЛокальный), ПодКаталогИзображенийЛокальный + "\", "") +
ИмяФайлаИзображения;
ФайлК = Новый Файл(ИмяФайлаИзображенияВЛокальномКаталоге);
Если НЕ ФайлК.Существует() Тогда
ПДФ = РаботаСФайламиКлиентСервер.ПараметрыДанныхФайла();
ДФ = РаботаСФайлами.ДанныеФайла(Выборка.ПрисоединенныйФайл, ПДФ);
Если НЕ ПустаяСтрока(ДФ.ПолноеИмяФайлаВРабочемКаталоге) Тогда
КопироватьФайл(ДФ.ПолноеИмяФайлаВРабочемКаталоге, ИмяФайлаИзображенияВЛокальномКаталоге);
ИначеЕсли НЕ ПустаяСтрока(ДФ.СсылкаНаДвоичныеДанныеФайла) Тогда
ДД = ПолучитьИзВременногоХранилища(ДФ.СсылкаНаДвоичныеДанныеФайла);
ДД.Записать(ИмяФайлаИзображенияВЛокальномКаталоге);
Иначе
аопр = 7 / 0;
КонецЕсли;
КонецЕсли;
Попытка
FTPИзображения.Записать(ИмяФайлаИзображенияВЛокальномКаталоге, ИмяФайлаИзображения);
//ТекстСообщений = ТекстСообщений + Символы.ПС + ТекущаяДата() + ": Успешно отправлен на FTP файл " + ИмяФайлаИзображения;
Исключение
//ТекстСообщений = ТекстСообщений + Символы.ПС + ТекущаяДата() + ": ОШИБКА!!! НЕ УДАЛОСЬ отправить на FTP файл " + ИмяФайлаИзображения;
КонецПопытки;
//КонецЕсли;
КонецЕсли;
СтрокаТЗ.Фото = СтрокаТЗ.Фото + ?(ПустаяСтрока(СтрокаТЗ.Фото), "", РазделительФото) + ИмяФайлаИзображения;
// сохраним информацию - Фото уже учтено
Выгруженные = ТЗИзображений.НайтиСтроки(Новый Структура("ПрисоединенныйФайл", Выборка.ПрисоединенныйФайл));
Если Выгруженные.Количество() = 0 Тогда
//Сообщить("ОШИБКА!!! Такого быть не должно!!! шыарп98урп");
//sldjfh = 7 / 0;
Иначе
Для Каждого СтрВ Из Выгруженные Цикл
СтрВ.Выгружен = Истина;
КонецЦикла;
КонецЕсли;
Иначе
// пропускаем - данное фото уже учтено в итоговой таблице
КонецЕсли;
Исключение
//Сообщить(ОписаниеОшибки(), СтатусСообщения.Внимание);
КонецПопытки;
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот