gpt4 book ai didi

ios - Dropbox sync api 大视频文件上传

转载 作者:行者123 更新时间:2023-11-29 03:15:26 26 4
gpt4 key购买 nike

我正在使用 Dropbox 同步 api 通过我的 ios 应用程序下载文本文件并从 Dropbox 上传视频文件或将视频文件上传到 Dropbox。

我在上传繁重的视频文件时遇到了困难。当我上传时长为 15 到 20 分钟的视频文件时,它会正确上传,但如果时长超过 25 分钟然后它会出现内存警告和应用程序崩溃。

我在上传按钮操作中使用此代码

DBPath *paths=[[DBPath root] childPath:[self.allVideoArray objectAtIndex:Selectedvideo]];
DBFile *createfile=[filesystem createFile:paths error:nil];
NSData *data=[[NSData alloc]initWithContentsOfFile:self.path];
[createfile writeData:data error:nil];
[data relese];

请有人帮我解决这个问题。任何帮助都应该是值得赞赏的,提前致谢。

最佳答案

问题是您创建了一个包含整个文件的 NSData 实例。如果文件太大而无法放入内存,您的应用程序将会崩溃。有更好的方法可以将大文件写入 DBFile

既然你有本地文件的路径,你可以这样做:

DBPath *paths=[[DBPath root] childPath:[self.allVideoArray objectAtIndex:Selectedvideo]];
DBFile *createfile=[filesystem createFile:paths error:nil];
[createFile writeContentsOfFile:self.path shouldSteal:NO error:nil];

另一种选择是以较小的 block 读取位于 self.path 的文件并使用 DBFile appendData:error:

旁注 - 您确实需要检查返回值以确保这些调用是否有效,并使用 error 参数来记录问题的原因(如果有)。

关于ios - Dropbox sync api 大视频文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21745690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com