Вход | Регистрация


WebDAV api Яндекса и 1С

WebDAV api Яндекса и 1С
Я
   Fuas4
 
11.10.16 - 14:57
Господа, я написал код, который выгружает файлы на Яндекс диск. В тонком клиенте он замечательно работает, но в вебе, если файл больше 100мБ выдает ошибку "недостаточно памяти" http://prntscr.com/csgy4k На компе памяти достаточно, да и в тонком все отлично выгружается. Подскажите мне, откуда возникает это ограничение и как его обойти?
Сам код (исполняется на сервере):
    Для каждого стр из ПомещаемыеФАйлы Цикл

        Расш = ВзаимодействияКлиентСервер.ПолучитьРасширениеФайла(Стр.Имя);
        
        Имя = ПолучитьИмяВременногоФайла(Расш);
         ДвоичныеДанные = ПолучитьИзВременногоХранилища(стр.Хранение);
              ДвоичныеДанные.Записать(Имя);
              Файл = новый файл(Имя);
            ИмяДляЗАписи =  Файл.Имя;
         x = Новый ComОбъект("Microsoft.XMLHTTP");

        x.Open("PUT","https://webdav.yandex.ru/"+ИмяДляЗАписи,1);  // третий параметр: 0-синхронный запрос, 1 - асинхронный

        x.setRequestHeader("Host", "webdav.yandex.ru");

        x.setRequestHeader("Accept", "*/*");
x.setRequestHeader("Authorization", "OAuth "+"Токен");
        //

        s = Новый ComОбъект("ADODB.Stream");

        s.Mode = 3;

        s.Type = 1;

        s.Open();

        s.LoadFromFile(Имя);    
        ПрочитанныйФайл = s.Read();
        x.Send(ПрочитанныйФайл);


В вебе падает на последней строчке: x.Send(ПрочитанныйФайл);
 
 
   Fuas4
 
1 - 11.10.16 - 15:04
Если у кого-то есть код без Com Объекта, я буду ему очень рад
   AceVi
 
2 - 11.10.16 - 15:08
(0) за такое название переменных поубивал бЫ.
   Fuas4
 
3 - 11.10.16 - 15:09
(2) это все, что есть по существу?
   Mauser
 
4 - 11.10.16 - 15:33
(1)
HTTPСоединение (HTTPConnection)
Записать (Put)

Синтаксис:
Записать(<HTTPЗапрос>) 

Параметры:
<HTTPЗапрос> (обязательный)
Тип: HTTPЗапрос. 
HTTP-запрос. 

Возвращаемое значение:
Тип: HTTPОтвет. 

Описание:
Используется для отправки данных на HTTP-сервер с помощью PUT-запроса.

Доступность: 
Тонкий клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). 


Начинай радоваться?
   Fuas4
 
5 - 11.10.16 - 15:36
(4) ты через этот put делал обмен с яндексом?
   Mauser
 
6 - 11.10.16 - 15:42
(5) В чем различие?
   Mauser
 
7 - 11.10.16 - 15:43
Например, от owncloud?
   Fuas4
 
8 - 11.10.16 - 15:47
(6) ни в чем, но у меня не взлетало. Впрочем, попробую еще раз
   Mauser
 
9 - 11.10.16 - 15:49
(8) Детали давай, где не взлетело
   Fuas4
 
10 - 11.10.16 - 15:54
(9) Вспомнил, по http у меня все взлетело, мне не нравилось, что Записать файл на Яд нельзя асинхронно. Чтоб юзер работал, пока файл грузится. Есть какая-то возможность обойти? Через СОМ там как раз оно без юзера работало
 
 Рекламное место пустует
   Fuas4
 
11 - 11.10.16 - 15:59
(9) 150 мб около 10 минут. Не вариант так работать :)
   Mauser
 
12 - 11.10.16 - 16:06
(10) Только фоновое задание на сервере, откуда растут дырки с сервера в интернет и прочее.
Ну, или поле хтмл документа на клиенте со скриптом и разгребать "особенности" доступа к файловой системе
   Fuas4
 
13 - 11.10.16 - 16:08
(12) тоже склоняюсь к фоновому заданию. Но тут получается, что я пишу файл в базу, фоновое задание передает его на ЯД и удаляет из базы. Много телодвижений, но, похоже, это меньшее из зол
   Mauser
 
14 - 11.10.16 - 16:15
(13) Если писать в базу а из базы выпихивать регламентным, то внезапно получишь возможность переживать падение сеанса.
Ну и плюс запись в базу, которая рядом, куда быстрее для клиента чем выпихивание наружу.
   Fuas4
 
15 - 11.10.16 - 16:18
(14) согласен, спасибо за помощь

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует