Как переименовать файл в яндекс диске
1. Файл видео или картинки нужно передать нам, но т.к. размер файла слишком велик, для передачи его по электронной почте, надо залить его на файлообменник.
Пожалуйста, используйте указанный ниже файлообменник, загрузка с других ресурсов вашей конфигурации нашими специалистами может затянуться на десятки часов, т.к. скорость загрузки занижается с целью монетизации.
Пожалуйста, не архивируйте файл, это не эффективно для данного формата. Рекомендуется переименовать файл, добавив версию конфигурации и название вашей организации в имя файла.
2. На сайте Яндекс.Диска https://disk.yandex.ru нужно нажать кнопку «Загрузить» и выбрать только что выгруженный из 1с файл

3. Дождитесь окончания процедуры загрузки файла на сервер

4. После окончания загрузки выберете в списке загруженных файлов файл конфигурации и в нижней части сайта включите ему доступ владельцам ссылки.

5. Сервис сгенерирует уникальную ссылку и ее необходимо отправить нам на по электронной почте на адрес info@2740000.ru обязательно укажите название плательщика и номер заказа.
Как переименовать файл в яндекс диске
Яндекс.Диск
Версия для
Вопросы и ответы по «Яндекс.Диск»
Вопрос и ответы были вам полезны?

Да

Нет
Попробуйте также:

Похожие вопросы :
- Как удалить сразу все публичные ссылки? (Ответов: 2)
- Как быстро перейти на файл, синхронизированный и сохранённый у себя на компьютере. (Ответов: 0)
- Размещение файлов на облачном и локальном дисках (Ответов: 1)
- Ссылка на папку. Что делать? (Ответов: 1)
- Проблема с папкой яндекс диска в разделе мой компьютер. Нет синхронизации. Что. (Ответов: 10)
- Как загрузить большой файл на яндекс диск? (Ответов: 1)
- Яндекс диск делает копии файлов. Как исправить это? (Ответов: 1)
- Публичная ссылка (Ответов: 1)
- Не создается публичная ссылка на файл (Ответов: 1)
Яндекс ДИСК — возможные грабли
Сразу оговорюсь, я не разработчик — я заказчик и эксплуататор с базовыми навыками.
Есть у нас сервис для автоматизации внутренних процессов организации. И для хранения относительно большого количества фотографий мы используем Яндекс диск через WebDAV. Фотографии мы храним в папках по месяцам. И вот недавно у нас пропали результаты всех наших трудов за 3 месяца. Т.е. пропали 3 папки из корня Яндекс диска.
В корзине этих папок нет, но зато появились 3 файла фотографий с именами этих папок. В истории видно, что эти файлы были перемещены из другой папки. Да, действительно у нас в системе предусмотрена возможность переносить данные из месяца в месяц и при этом фотографии перемещаются между папками. Да, где-то внутри нашей системы была ошибка и каким-то образом 3 файла получили имена как у папок и переместились в корень. Но вот Яндекс диск взял и заменил папки файлами.
В панике начал писать в техподдержку. Описал все обстоятельства и слёзно попросил по возможности восстановить папки и их содержимое. На свой запрос получил формализованный ответ, что мы понимаем, что ситуация вас огорчила и да, сказать по правде, я немного огорчился от этой ситуации, потеряв результаты трудов за 3 месяца. Ну и дальше, что мы не принимаем участия в разработке ваших приложений, не гарантируем работоспособность сторонних решений и не несём ответственности. Ваши папки удалены и если они удалены через WebDAV, то они не появляются в корзине. Их не вернуть.
Я проверил данный кейс Яндекс диска в браузере. Вы тоже можете повторить этот финт.
- Создаете папку «123» в корне. Можно насыпать туда файлов.
- Создаете файл «123» (без расширения) в любой папке.
- Перемещаете файл в корень. Яндекс ругается, что такой ФАЙЛ уже есть и предлагает заменить.
- После замены мы получаем файл в корне и лишаемся папки и возможности её восстановить.
Интересно, что у этого файла иконка папки, но при этом в списке он после всех папок и у него есть размер, как у файла. При клике открывается как файл — в моём случае картинка.
Я и этот вариант описал техподдержке, но пока мне не удалось пробиться на уровень выше менеджера, который отвечает формально. Может быть действительно вернуть файлы нет технической возможности.
Вот не знаю, баг это или фича Яндекса, но вероятность потерять данные существует. В одной точке сошлись 3 обстоятельства: особенность Яндекса, желание нашего менеджера изменить месяц и ошибка в нашем коде. Самое интересное, что наша систем работает уже несколько лет, но, как оказалось, раз в году и палка стреляет.
Разрезать и залить видео на Яндекс.диск — бесплатно

Предлагается рассмотреть программу на python, которая позволит в рамках бесплатного тарифа «Яндекс.диска» нарезать и заливать видеофайлы, размеры которых превышают 1 Гб (требование тарифа), получать ссылки на них. Никакой магии — только api «yandex.диска» и немного python.
Предисловие. Небольшое
Погрузившись в познание нейросетей мимо меня как-то мимо прошла новость о том, что ресурс, на который была возложена миссия по спасению и переносу видеофайлов стал платным. Речь, конечно, о «Яндекс. диске».
Какое-то время с этим можно было мириться, так как для «старых» аккаунтов вроде как были небольшие послабления — еще можно было залить файл с превышением размера, только если он по габаритам помещался в оставшееся место на облаке. Но потом и эту «лавочку прикрыли» — только не более 1Гб.
В воздухе повисла пауза и необходимость как-то заливать файлы либо вообще забыть про ресурс.
Но, как говорится, «старый друг лучше новых двух», поэтому пришлось заглянуть в api «яндекс. диска», а, заодно, поискать быстрый splitter видео, чтобы экономить целых 199 р. в месяц на «старом друге».
К программе нарезки видео
Идея программы проста: дробим видео по 1Гб, заливаем на «яндекс.диск» (далее по тексту — «Я»), делаем ссылки на части видео публичными (доступ по ссылке), получаем ссылки на видео в txt.
В поисках проекта по корректному и быстрому разрезанию видео нагитхабилось несколько репозиториев. Но не все они оказались рабочими, а из рабочих — быстрыми и результативными.
В итоге, самым результативной оказалась программа (назовем ее split.py), использующая ffmpeg:
import subprocess,os class Split: def __init__(self,maxSize,path): '''Size of the chunks in MB and path to save the pieces''' self.maxSize = int((maxSize-10) * 1024) self.path = path def splitVid(self,file): '''File to split''' video_size = os.path.getsize(file) video_size = video_size / 1024 video_duration = subprocess.run(["ffprobe", "-v", "error", "-show_entries", "format=duration", "-of", "default=noprint_wrappers=1:nokey=1", file], stdout=subprocess.PIPE).stdout.decode('utf-8') pieces_duration = round(float(video_duration) / (int(video_size / self.maxSize) + 1)) subprocess.run(["ffmpeg", "-i", file, "-c", "copy", "-f", "segment", "-segment_time", str(pieces_duration), "-loglevel", "quiet", "-reset_timestamps", "1", f"part%02d_vid.mp4"])
Вызывать ее будем из другого скрипта (example.py):
from split import Split splitter = Split(1000,"./") splitter.splitVid("video.mkv")
где 1000 — это размер в Мб, который превышать нельзя, а video.mkv — видео для нарезки.
Вроде бы все в части нарезки видео. Но, оказалось, с Я не все так просто.
Общение с api «яндекс.диска»
Для того, чтобы можно было пользоваться ресурсом, необходим токен, благо он бесплатный.
Получить его просто, пройдя ряд шагов, не вызывающих сложностей по созданию приложения на «яндексе». На получении токена останавливаться не будем, статей на эту тему достаточно.
Перейдем непосредственно к программе.
В основу положена библиотека из репозитория — yadisk.
Устанавливается вспомогательный модуль как обычно —
pip install yadisk
Есть также ее async сестра — yadisk-async.
С ее использованием при общении с Я тоже не все безоблачно, но об этом позднее.
Однако в пределах одного взятого файла (видеофрагмента большого размера) async проигрывает по скорости загрузки, проверено экспериментально.
В репо yadisk есть простые команды для общения с Я по api.
Мы перейдем сразу к рекурсивной загрузке всех файлов из папки на нашем локальном диске.
import posixpath import os import yadisk #windows version from time import sleep y = yadisk.YaDisk(token="токен") # Создаёт новую папку "/test-dir" print(y.mkdir("/test-dir")) to_dir = "/test-dir" from_dir = "to_upload" #проверка свободного места #print(y.get_disk_info().FIELDS) fields=y.get_disk_info().FIELDS free_space=(fields['total_space']-fields['used_space'])/1048576 trash=fields['trash_size']/1048576 print(f"свободное место на yandex disk: Мб", ) print(f"корзина занимает: Мб", ) def recursive_upload(y, from_dir, to_dir): for root, dirs, files in os.walk(from_dir): p = root.split(from_dir)[1].strip(os.path.sep) dir_path = posixpath.join(to_dir, p) #print(dir_path) #try: #y.mkdir(dir_path) #except yadisk.exceptions.PathExistsError as e: #print(e) #pass for file in files: file_path = posixpath.join(dir_path, file) #print(file_path) #p_sys = p.replace("/", os.path.sep) in_path = os.path.join(from_dir, file) print(in_path) try: y.upload(in_path, file_path) except yadisk.exceptions.PathExistsError as e: print(e) #pass recursive_upload(y, from_dir, to_dir) print("залито") #print(list(y.listdir("/test-dir"))) for f in list(y.listdir(to_dir)): y.publish(f'/') # make file public with open ("links.txt", "a") as l: for f in list(y.listdir("/test-dir")): print(f.FIELDS["public_url"]) #public url l.write(f.FIELDS["public_url"]+'\n') print('готово')
Программа для os windows. Разберем код.
Из локальной папки to_upload заливаются в папку test-dir на Я все ранее нарезанные видеофрагменты.
Также предварительно выводится свободное место на yandex disk и размер заполненной корзины, чтобы самому оценить вероятность успеха, а не дожидаться ошибки.
Далее, с помощью
y.publish(f'/документации.
Выход из сложившейся ситуации простой — заливать файлы, удалив у них расширения. То есть вместо «video.mp4», закачивать «video».
Поэтому, в программу рекурсивной загрузки файлов добавим одну строку, которая будет удалять расширение файла перед загрузкой:
os.rename(f'/',f'/')
Блок кода примет вид:
for file in files: os.rename(f'/',f'/') file_path = posixpath.join(dir_path, file)
Ремарка по async версию программы
Переименование файлов перед загрузкой на ресурс Я не спасает программу по async загрузке от вылета. Это происходит только при заливе крупных файлов и, вероятно, из-за timeout — issue.
Тем не менее, версию программы с async можно заставить работать, увеличив timeout.
Например, рабочий код (протестирован на видео фрагментах) может выглядеть вот так:
async def main(): print("token valid: ",await y.check_token()) print("заливаю. ") async with aiofiles.open("ghosted_1", "rb") as f: await y.upload(f, "/test-dir/ghosted_1",timeout=100) print("залил") if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main()) loop.close()
Послесловие
Оглядываясь назад, можно задать вопрос — стоят ли 199 р. таких трудов? Все равно ведь залитые видеофрагменты дробятся по 1Гб и при просмотре с ресурса Я будут немного вызывать неудобства при просмотре. Однако, этот вопрос — на обсуждение. Здесь лишь приведен вариант решения проблемы, с которой столкнулся автор.
- яндекс.диск
- обработка видео
- хранение файлов
- Python
- Хранение данных
- Облачные сервисы