0
def save_media(story_id, media_url):
try:
    link = media_url[:media_url.find('?')]
    extension = link[::-1][:link[::-1].find('.')+1][::-1]
    if 'video' in media_url:
        extension = '.mp4'
        
    filepath = r'{0}\file path for media to save stories\{1}{2}'.format(os.getcwd(), story_id, extension)
    if not os.path.exists(filepath):
        response = requests.get(media_url)
        if response.status_code==200:
            with open(r'{}'.format(filepath), 'wb') as file:
                file.write(response.content)
            file.close()
    newpath = filepath.replace(f'{os.getcwd()}\\influnite', '')
    return newpath
except Exception as error:
    print('Error saving story media!')
    print(error)
    return ''

运行此代码后,从 api 获取媒体 url 我没有在媒体文件夹中获取媒体数据(视频和故事),有人可以告诉我我在做什么错吗?

4

1 回答 1

0
def save_media(story_id, media_url):
try:
    link = media_url[:media_url.find('?')]
    extension = link[::-1][:link[::-1].find('.')+1][::-1]
    if 'video' in media_url:
        extension = '.mp4'
        
    filepath = r'{0}/influnite/media/stories/{1}{2}'.format(os.getcwd(), story_id, extension)
    if not os.path.exists(filepath):
        response = requests.get(media_url)
        if response.status_code==200:
            with open(filepath, 'wb') as file:
                file.write(response.content)
            file.close()
    newpath = filepath.replace(r'{0}/influnite'.format(os.getcwd()), '')
    return newpath
except Exception as error:
    print('Error saving story media!')
    print(error)
    return ''

这里首先检查获取该故事的jpg格式或格式mp4,然后检查服务器的响应并将故事和文件保存为wb即写入位并将故事保存在media文件夹中

于 2021-06-04T13:10:43.010 回答