Python-通过APIv2将zip文件夹上传到保管箱始终失败

问题描述 投票:0回答:1

我正在尝试将zip文件夹上传到保管箱。 zip是一个备份,具有根据当前日期时间的自定义名称。该文件夹已正确压缩,命名和存储。可悲的是,上传到保管箱始终存在问题。我已经使用相同的代码测试了readme.txt,它可以正常工作。我不知道哪里出了问题。感谢您的帮助。

import dropbox
import os
import datetime

dt = ('{:%Y%m%d_%H%M}'.format(datetime.datetime.now()))
name = dt + "_pa.zip"

os.system("zip -r " + name +  " /home/obliss")

class TransferData:
    def __init__(self, access_token):
        self.access_token = access_token
    def upload_file(self, file_from, file_to):
        dbx = dropbox.Dropbox(self.access_token)
        with open(file_from, 'rb') as f:
            dbx.files_upload(f.read(), file_to, mode=dropbox.files.WriteMode.overwrite)

access_token = "[hidden]"
file_from = "/home/olbliss/"+name
file_to = "/Work/Python Anywhere Backups/"+name
transferData = TransferData(access_token)

try:
    transferData.upload_file(file_from, file_to)
except:
    os.remove(name)
    print('uploaded failed, '+name+' removed from /home/olbliss/')

try:
    os.remove(name)
except:
    pass

失败消息:enter image description here

python operating-system zip dropbox dropbox-api
1个回答
0
投票

413状态代码表示有效负载太大。 files_upload方法仅正式支持最大150 MB的文件。您需要将files_upload用于较大的文件。

这是一个基本示例,使用upload_sessions将文件从Dropbox Python SDK指定的本地文件上传到Dropbox API,并上传到file_path指定的远程路径。它还根据文件的大小选择是否使用上载会话:

dest_path

注意:这仅作为示例。它尚未经过广泛测试,并且未实现错误处理。

© www.soinside.com 2019 - 2024. All rights reserved.