- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我一直致力于 Android 中的文件上传,发现 HTTP 和 FTP 都可用于文件上传,但 Android 本身支持 HTTP,但 FTP 是通过 Apache commons library ,也发现两者各有优缺点但不是从移动端的角度来看,因为在移动端网络中断是很常见的,
所以我的问题
1)无论在手机上还是使用 FTP,我应该坚持 HTTP 多部分文件上传吗
2)我的服务器是FTP存储库,我还能用HTTP上传没有问题吗
3) FTP 是否像 HTTP 一样使用分段上传,或者经常中断时如何处理网络问题
最佳答案
1) Should I stick to HTTP multi-part file upload no matter what in mobiles or is it fine to use FTP
由于 FTP 的设计,在任何使用私有(private) IPv4 地址的网络中都是一个非常糟糕的选择 - 由于 IPv4 地址短缺,大多数移动网络可能都是这种情况。虽然它可能在一个网络中工作,但在另一个网络中却无法工作,如果您尝试将 FTP 与 SSL 结合使用以保护传输,情况会变得更糟。
HTTP 和 HTTPS 通常可以正常工作。通过使用范围请求,您还可以下载部分文件,这在恢复中断的下载或仅加载文档的必要部分(如大 PDF 文件的部分)时非常重要。 FTP 的恢复能力有限,但不如 HTTP Range 请求有用。
至于恢复上传,FTP 有 REST(重启)命令。但是您需要先找出服务器接收了多少数据,以便您知道从哪里重新启动。 HTTP 没有用于上传的内置简历。您可以在 POST 或 PUT 请求中使用 Content-Range
header ,但您的服务器需要了解如何处理此 header 。或者您可以将上传分散到多个请求上,这同样需要特殊的服务器端代码来在服务器上重建原始文件。
这两种协议(protocol)的开销大致相同,除了非常小的文件外,其他任何东西都可以忽略。
2) My Server is FTP storage repository, can I still use HTTP to upload without issue
如果您的服务器没有 HTTP 接口(interface),那么您就不能使用 HTTP。但是仅仅描述“FTP 存储库”并没有提供足够的信息来说明它的访问方式。
3) Does FTP use multipart upload just like HTTP or how is network issues handled when there is frequent breaks
如果它坏了,你需要找出从哪里重新开始上传(检查远程长度),然后使用 REST 命令。
关于android - 哪种文件上传协议(protocol) (FTP/HTTP) 适用于网络高度不可靠的移动设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35722441/
internal protocol Reducer { associatedtype S : BaseState associatedtype A : BaseActi
我在考虑我的应用程序中的验证检查,我认为在任何模型上调用 ValidatorFactory,实现 Validee,这意味着说哪个类负责 ValidatorCreation 听起来不错。但是下面的代码不
我已经定义了 2 个协议(protocol)。我需要第一个 (NameProtocol) 来执行 Equatable 协议(protocol)。而另一个类 (BuilderProtocol) 有一个返
在上传方面,WebDAV 协议(protocol)在哪些方面优于 HTTP 协议(protocol)。 Socket Upload 协议(protocol)和 WebDav Upload 协议(pro
是否可以在任何版本的 Swift 中扩展具有混合类/协议(protocol)类型约束的协议(protocol)?例如,仅当 Self 是 UIViewController 的子类并且符合 Protoc
我有一个协议(protocol) (ProtocolA),其中包含符合第二个协议(protocol) (ProtocolB) 的单个属性。 public protocol ProtocolA {
NSObject 协议(protocol)带有常用的协议(protocol)模板,但它似乎并不是协议(protocol)实际实现所必需的。将其排除在外似乎完全没有任何改变。那么,协议(protocol
我想根据这两种协议(protocol)的一般特征(例如开销(数据包)、安全性、信息建模和可靠性)来比较 OPC UA 和 MQTT。我在哪里可以找到每个协议(protocol)的开销和其他特性的一些示
使用 Swift 4,我正在尝试编写一个自定义协议(protocol),它提供对 @objc 协议(protocol)的一致性。 一些代码 更具体地说,我有一个自定义协议(protocol) Sear
我想定义一个在 Viper 架构中使用的协议(protocol),以使用具有弱属性的协议(protocol)在 Viper 组件之间建立连接,但我收到以下错误消息: 'weak' may only b
我在同一个网络中有 3 个 docker 容器: 存储 (golang) - 它提供了用于上传视频文件的 API。 主播 (nginx) - 它流式传输上传的文件 反向代理 (姑且称之为代理) 我有
我打算在我的项目中使用 php socket。它需要用户登录才能根据 session 填充内容。所以我的问题是,TCP/IP 协议(protocol)也像 HTTP 协议(protocol)一样为每个
目前,我的网站有两个版本。一种带有 https://-证书,一种没有。我想将我网站的 http 版本上的所有用户 301 重定向到我网站的 https://版本。 这似乎不可能,因为创建重定向将导致重
目前,我的网站有两个版本。一种带有 https://-证书,一种没有。我想将我网站的 http 版本上的所有用户 301 重定向到我网站的 https://版本。 这似乎不可能,因为创建重定向将导致重
我有一个 Swift View Controller ,它定义了一个在 Objective-C View Controller 中应该遵循的协议(protocol): ChildViewControl
我在客户那里有数百个硬件设备,需要通过telnet接口(interface)发送HTTP数据。 目标是等待数据的 Apache 2 Web 服务器和 PHP 脚本。 这已经可以正常工作了,但是我们发现
我发现如果我创建一个这样的协议(protocol): protocol MyProtocol { } 我不能这样做: weak var myVar: MyProtocol? 我找到了解决这个问题的方法
Xcode 基于模板生成了这个头文件: // this file is XYZAppDelegate.h #import @interface XYZAppDelegate : UIRespond
我在 github 中有一个公开的存储库,我正在开发一个开源应用程序,用于制作产品目录和小型 cms 内容。 我还有一个私有(private)仓库(不托管在github),它是在托管在github的开
您好,我想让别人看到私有(private) repo 代码,但不想公开我的 repo ,也不希望他们有能力更改内容。这可能吗?我查看了网站的“管理”部分,但没有找到合适的内容。谢谢大家。 最佳答案 据
我是一名优秀的程序员,十分优秀!