Автор Тема: [yadisk] Яндекс.Диск UDF  (Прочитано 19695 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн bugmenot [?]

  • Новичок
  • *
  • Сообщений: 17
  • Репутация: 0
    • Награды
Re: [yadisk] Яндекс.Диск UDF
« Ответ #15, Отправлен: Декабрь 02, 2015, 08:29:10 »
А как организовать загрузку нескольких файлов из массива? С ftp получается, а здесь только первый файл заливает.

Русское сообщество AutoIt

Re: [yadisk] Яндекс.Диск UDF
« Ответ #15 Отправлен: Декабрь 02, 2015, 08:29:10 »

Оффлайн inververs [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 2135

  • Автор темы
  • Репутация: 461
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: [yadisk] Яндекс.Диск UDF
« Ответ #16, Отправлен: Декабрь 02, 2015, 12:39:17 »
bugmenot  [?]
Цитировать
А как организовать загрузку нескольких файлов из массива?
По очереди

Оффлайн CrazyDoc [?]

  • Новичок
  • *
  • Сообщений: 75
  • Репутация: 2
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [yadisk] Яндекс.Диск UDF
« Ответ #17, Отправлен: Декабрь 02, 2015, 12:54:42 »

Оффлайн bugmenot [?]

  • Новичок
  • *
  • Сообщений: 17
  • Репутация: 0
    • Награды
Re: [yadisk] Яндекс.Диск UDF
« Ответ #18, Отправлен: Декабрь 02, 2015, 13:39:37 »
Код: AutoIt [Выделить]
_yadisk_set_access_token('b7e44f77bfd1125c81b923e***d19c78')
$uploads_file = _FO_FileSearch (@scriptdir, '~*.new', True, 0, 2, 2)
for $i = 0 to UBound($uploads_file)
_yadisk_upload_file($uploads_file, '/krl/' & $uploads_file)
Next


И не идет.

Русское сообщество AutoIt

Re: [yadisk] Яндекс.Диск UDF
« Ответ #18 Отправлен: Декабрь 02, 2015, 13:39:37 »

Оффлайн CrazyDoc [?]

  • Новичок
  • *
  • Сообщений: 75
  • Репутация: 2
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [yadisk] Яндекс.Диск UDF
« Ответ #19, Отправлен: Декабрь 02, 2015, 13:46:52 »
Код: AutoIt [Выделить]
_yadisk_set_access_token('b7e44f77bfd1125c81b923e***d19c78')
$uploads_file = _FO_FileSearch (@scriptdir, '~*.new', True, 0, 2, 2)
for $i = 0 to UBound($uploads_file)
_yadisk_upload_file($uploads_file, '/krl/' & $uploads_file)
Next


И не идет.
В таком виде и не должно. Попробуйте это:
Код: AutoIt [Выделить]
_yadisk_set_access_token('b7e44f77bfd1125c81b923e***d19c78')
$uploads_file = _FO_FileSearch (@scriptdir, '~*.new', True, 0, 2, 2)
for $i = 0 to UBound($uploads_file)
_yadisk_upload_file($uploads_file[$i], '/krl/' & $uploads_file[$i])
Next


Оффлайн bugmenot [?]

  • Новичок
  • *
  • Сообщений: 17
  • Репутация: 0
    • Награды
Re: [yadisk] Яндекс.Диск UDF
« Ответ #20, Отправлен: Декабрь 02, 2015, 13:50:33 »
первый файл пошел а дальше
Цитировать
(12) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
_yadisk_upload_file($uploads_file[$i], '/krl/' & $uploads_file[$i])
_yadisk_upload_file(^ ERROR

Так я тоже делал.

Оффлайн CrazyDoc [?]

  • Новичок
  • *
  • Сообщений: 75
  • Репутация: 2
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [yadisk] Яндекс.Диск UDF
« Ответ #21, Отправлен: Декабрь 02, 2015, 13:54:59 »

Пожалуйста, пользуйтесь поиском прежде чем спрашивать.
(нажмите для показа/скрытия)

Оффлайн bugmenot [?]

  • Новичок
  • *
  • Сообщений: 17
  • Репутация: 0
    • Награды
Re: [yadisk] Яндекс.Диск UDF
« Ответ #22, Отправлен: Декабрь 02, 2015, 14:00:18 »
С фтп это работает, а с этой удф нет. И ваш последний код вообще не отрабатывается. Эти комбинации а уже пробовал поэтому и пишу сюда.

Русское сообщество AutoIt

Re: [yadisk] Яндекс.Диск UDF
« Ответ #22 Отправлен: Декабрь 02, 2015, 14:00:18 »

Оффлайн CrazyDoc [?]

  • Новичок
  • *
  • Сообщений: 75
  • Репутация: 2
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [yadisk] Яндекс.Диск UDF
« Ответ #23, Отправлен: Декабрь 02, 2015, 14:09:20 »
поэтому и пишу.
просто подумайте 5 мин и попытайтесь понять что происходит во время выполнения кода. в последнем примере я допустил простейшую опечатку, которую должен понимать каждый - это основы.

Оффлайн Gerain [?]

  • Новичок
  • *
  • Сообщений: 1
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [yadisk] Яндекс.Диск UDF
« Ответ #24, Отправлен: Июнь 14, 2016, 15:11:07 »
Добрый день. Подскажите в чем может быть причина. Текстовые файлы на яндекс диск заливаются, а вот с архивами и pdf возникли проблемы. При подстановке в пример других имен, пишет что файл загружен. Но на диске он не появляется. Пробовал добавить строки как в одном из сообщений - решения не добился.
На замену FileRead:
Код: AutoIt [Выделить]
    Local $h_BinFile = FileOpen($s_local_path, 16)
    Local $data = FileRead($h_BinFile)
    FileClose($h_BinFile)
    ;~ Local $content_length = FileGetSize($s_local_path)
    Local $content_length = BinaryLen($data)
 



Добавлено: Июль 31, 2015, 08:48:52
Этот код надо вставить после этой строки:
Код: AutoIt [Выделить]
    Local $content_type = __WinHttpMIMEType($s_local_path)

Вместо этой:
Код: AutoIt [Выделить]
    Local $data = FileRead($s_local_path)
 


Оффлайн ManuelHorP [?]

  • TimothynePVU
  • Новичок
  • *
  • Сообщений: 1
  • Репутация: 0
  • Пол: Мужской
    • Девятая жизнь Луи Дракса
    • Награды
  • Версия AutoIt: 3.3.14.0
yadisk Яндекс Диск UDF
« Ответ #25, Отправлен: Сентябрь 05, 2016, 11:36:07 »
Подскажите пожалуйста яндекс предостовляет диск 10гб, можно его прикрутить к плееру что бы туда скачивать и смотреть от туда? Если можно то как?
ссылка:http://smotretfilmhd720.ru/detectiv/30-devyataya-zhizn-lui-draksa.html [nonactive]

Оффлайн Erm [?]

  • Новичок
  • *
  • Сообщений: 1
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [yadisk] Яндекс.Диск UDF
« Ответ #26, Отправлен: Октябрь 15, 2017, 00:17:14 »
Скрипт работает. Файл скачивается. Но очень долго.
Например, файл 250 МБ через скрипт качается более 30 минут, тогда как, если скачать через браузер, то около 1-2 минут.
Можно как-то ускорить скачивание?

Оффлайн tech-gs [?]

  • Новичок
  • *
  • Сообщений: 54
  • Репутация: 5
  • Пол: Мужской
    • Награды
Re: [yadisk] Яндекс.Диск UDF
« Ответ #27, Отправлен: Май 02, 2018, 22:58:28 »
При выполнении _yadisk_move() и _yadisk_copy(), если в пути назначения $s_yadisk_path_destination присутствуют пробелы, то получаем ошибку HTTP/1.1 400 Bad Request.
Пробелы в пути источника $s_yadisk_path допускаются.
Поэтому, код нужно поправить примерно так (для _yadisk_copy()  аналогично):

Код: AutoIt [Выделить]
Func _yadisk_move($s_yadisk_path, $s_yadisk_path_destination, $f_overwrite = False)
    ...

    Local $head = _
            __yadisk_default_head() & _
            'Destination: ' & StringReplace($s_yadisk_path_destination, " ", "%20") & @CRLF & _
            'Overwrite: ' & $f_overwrite & @CRLF

    ...
EndFunc   ;==>_yadisk_move


Если это связано с ограничением набора символов в URL-адресах, тогда нужно применять конвертирование $s_yadisk_path_destination в корректный URL-адрес.

И еще одно уточнение. По документации Яндекса, признак перезаписи файла по умолчанию = True. В коде это переменная $f_overwrite.
https://tech.yandex.ru/disk/doc/dg/reference/copy-docpage/


Добавлено: Май 02, 2018, 23:19:42
Скрипт работает. Файл скачивается. Но очень долго.
Например, файл 250 МБ через скрипт качается более 30 минут, тогда как, если скачать через браузер, то около 1-2 минут.
Можно как-то ускорить скачивание?

То же самое. Похоже, это ограничение Яндекса.

К сведению. При выгрузке большого файла на ЯД, если не хватит ОЗУ, скрипт вылетит с ошибкой "Error allocating memory.". И обработчики ошибок здесь не помогут.
У меня получалось примерно слеледующее:
   - ОЗУ 2Gb - 59Mb - Выгружает, 305Mb - Ошибка
   - ОЗУ 8Gb - 403Mb - Выгружает (за 31:35 мин), 646Mb (48:43 мин), 686Mb - Ошибка.

Увеличить в разы объем выгружаемого файла удалось путем передачи по ByRef во всех процедурах модуля WinHttp.au3 переменной, хранящей выгружаемые данные. Примерно так:
Код: AutoIt [Выделить]
Func _WinHttpSendRequest($hRequest, $sHeaders = Default, ByRef $vOptional = Default, $iTotalLength = Default, $iContext = Default)
...

Func _WinHttpSimpleSendRequest($hConnect, $sType = Default, $sPath = Default, $sReferrer = Default, ByRef $sDta = Default, $sHeader = Default)
...

« Последнее редактирование: Май 02, 2018, 23:19:42 от tech-gs, Причина: Объединение сообщений »

Русское сообщество AutoIt

Re: [yadisk] Яндекс.Диск UDF
« Ответ #27 Отправлен: Май 02, 2018, 22:58:28 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
4337 Просмотров
Последний ответ Сентябрь 30, 2011, 10:48:58
от Yashied
13 Ответов
6459 Просмотров
Последний ответ Декабрь 03, 2014, 14:12:45
от madmasles
0 Ответов
1390 Просмотров
Последний ответ Апрель 26, 2015, 15:19:08
от madmasles
5 Ответов
2067 Просмотров
Последний ответ Январь 17, 2016, 00:49:20
от Alofa
1 Ответов
959 Просмотров
Последний ответ Март 19, 2016, 11:09:57
от alex33
17 Ответов
3706 Просмотров
Последний ответ Сентябрь 30, 2016, 20:59:53
от ini
0 Ответов
962 Просмотров
Последний ответ Декабрь 18, 2016, 12:45:25
от mef-t
2 Ответов
503 Просмотров
Последний ответ Апрель 26, 2017, 06:42:40
от Skif_off
4 Ответов
803 Просмотров
Последний ответ Июнь 20, 2017, 15:54:08
от Garrett
0 Ответов
218 Просмотров
Последний ответ Январь 10, 2018, 01:25:08
от betauto