我一直致力于编写简单的代码,将文件夹中的最新视频上传到Dropbox with python。我差点搞定了,但遇到了两个问题。最大的问题是当视频显示在Dropbox上时无法播放,我相信文件在上传时已损坏。另一个问题是文件名被重命名,我想保留文件名,因为我在名称中添加了一个时间戳,以便在录制视频时轻松记录。 -Thanks
dbx.dropbox.Dropbox('EmptyKey')
allfiles = glob.glob('/home/pi/Documents/CameraFeeds/*.h264')
newestfile = max(allfiles, key=os.path.getctime)
dropbox_path = os.path.join('/*')
with open(newestfile, 'rb') as f:
dbx.files_upload(f.read(), dropbox_path, mute=True)
答案 0 :(得分:0)
我不知道您尝试上传的视频的大小,但鉴于simple calculation of filesize for video length,您似乎可能只使用了每次上传150MB的限制dbx.files_upload()
。我认为您使用files_upload_session_start()
,files_upload_session_append_v2()
和files_upload_session_finish()
命令(found here)可以获得更好的结果。
对于在到达Dropbox时重命名的文件,问题在于您的dropbox_path
定义。当您致电files_upload()
时,f.read()
参数只是要上传的原始数据; dropbox_path
arg是预期文件名的唯一指示。您需要在newestfile
定义中加入dropbox_path
(但要小心,如果您正在使用Windows:os.path.join
使用\\
加入路径,与Dropbox不兼容。)