Имя: Пароль:
1C
1С v8
Загрузка текстового файла в ЯндексДиск
0 9451523
 
22.08.22
12:44
Привет Всем
До не давнего времени загружал xml файл на яндекс диск по этому алгоритму;

ИмяФайлаТокен = ПолучитьИмяВременногоФайла();
    ФайлТокен = Новый ЗаписьТекста(ИмяФайлаТокен,"windows-1251");
    ФайлТокен.Записать(Логин+":"+Пароль);
    ФайлТокен.Закрыть();

    // Кодируем пароль в Base64

    ДвоичныйТокен = Новый ДвоичныеДанные(ИмяФайлаТокен);
    Токен = Base64Строка(ДвоичныйТокен);
    //и удаляем временный файл
    УдалитьФайлы(ИмяФайлаТокен);
        ПолныйПуть = НРег(Объект.СкладПолучатель)+"/"+ИмяФайла;
        Попытка
        x = Новый ComОбъект("Microsoft.XMLHTTP");
        x.Open("PUT","https://webdav.yandex.ru/"+ПолныйПуть,0);  
        x.setRequestHeader("Host", "webdav.yandex.ru");
        x.setRequestHeader("Accept", "*/*");
        x.setRequestHeader("Authorization", "Basic "+Токен);
        s = Новый ComОбъект("ADODB.Stream");
        s.Mode = 3;
        s.Type = 1;
        s.Open();
        s.LoadFromFile(ЛокальныйПуть + ИмяФайла);    
        x.Send(s.Read());

Показать

алгоритм все так же работает но изменился формат загружаемого файла на .txt естественно сейчас не загружает,
с ComОбъект("Microsoft.XMLHTTP") не знаком от слова совсем, не подскажете что нужно переделать что бы и текстовый файлы загружало по этому же алгоритму?

С уважением Дамир
1 butterbean
 
22.08.22
12:49
сделать все через родные 1С-ные HTTPЗапросы
2 СеменовСемен
 
22.08.22
12:51
Только я бы не стал через вебдав делать, лучше через родное апи
3 mistеr
 
22.08.22
12:53
(0) По идее, ничего не нужно, должно работать. Проверь, может кодировка файла изменилась.
4 Tatitutu
 
22.08.22
13:56
(0) "Дело было не в бобине (с)"
все нормально с твоих кодом и от расширения не зависит
смотри по ошибки ответа - ты не проходишь авторизацию

"партнеры" из Яндекс - просто поменяли API
запроси заново ТОКЕН (т.е. обнови его)
если раньше он был 48 символов, то теперь немного увеличился
и все будет как прежде радовать.