将视频文件从黑莓设备上传到远程服务器
我想通过 HTTP post 上传视频文件。出现一些疑问是
- 使用 HTTP post 时是否有最大文件大小限制?
- 哪些是可用于发送视频文件的最佳文件压缩方法?
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想通过 HTTP post 上传视频文件。出现一些疑问是
谢谢
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
1) HTTP Post 大小限制在服务器上配置。
2) 视频文件,除非您发送原始未压缩视频数据,否则已经由视频编解码器打包,并且不会另外压缩。通过 HTTPConnection 打开 DataOutputStream 并将视频文件字节写入此流。完成后关闭流。如果您不想关闭流,请调用flush()方法。
1) HTTP Post size limit is configured on the server.
2) Video file, unless you are sending raw uncompressed video data, is already packed by video codec, and won't be additionally compressed. Open DataOutputStream over HTTPConnection and write video-file bytes to this stream. When it is done close the stream. If you do not want to close stream, invoke flush() method.
除了 Rafael Osipov 所说的:当谈到 BB 开发时,有时还会出现其他问题:
1)如果您使用 BES,那么很可能每个连接发送的数据有限制。此限制由 BES 管理员设置。默认值约为 200 KB(通过 google 查找准确值,并记住它可能取决于公司使用的 BES 软件版本)。由于视频文件通常很大,您可能会成为此限制的受害者。
2) 一些无线网络提供商还对每个连接发送的数据有限制。至少我曾经遇到过这样的案例。
由于很难预测您的客户是否会遇到这些情况,我的建议是在应用程序中设置一些设置屏幕,允许用户启用“分块”。您必须将文件拆分为一组较小的文件(块),并按顺序发送它们,为每个块创建一个单独的 http 连接(块的大小应由用户配置)。然后服务器上的一些脚本会从块中重新创建原始文件。
In addition to what Rafael Osipov said: when it comes to BB development there sometimes other points arise:
1) If you are using BES, then it is most likely there is a limit of data to be sent per an connection. This limit is set by BES administrator. The default value is smth around 200 KB (google on this to find out an exact value, and bear in mind it may depend on BES software version that a company uses). Since video files are usually large in size you may be a victim of this limit.
2) Some wireless network providers also have a limit of data to be sent per a connection. At least once I got such a case.
Since it's hard to predict whether your customers will get in these cases or not, my advice is to have some settings screen in the app that would allow users to enable "chunking". You'll have to split your file on set of smaller files (chunks) and send them sequentially creating a separate http connection per each chunk (size of chunk should be configurable by user). Then some script on your server recreates original file from chunks.