我希望为我的应用程序提供一个上传功能,该功能接受 http 或 ftp 之类的 uri,服务器会下载并存储这些文件。我知道上传的文件会很大(>1GB)。
我想知道是否有一种方法可以通过其中一种协议进行校验,而无需先下载实际文件。由于文件很大而且需要存储,我想避免下载重复数据。
我能找到的最好的是这篇关于 ftp 和 scp 的帖子和和HTTP 的 Content-MD5 标头字段文件服务器可能支持也可能不支持。
答案1
不。http 和 ftp 都不支持此功能。(我确实不知道有任何协议支持此功能,但 ssh 可以被强制执行此功能,rsync 和 bittorrent 可以执行一些类似操作 - 不过它们在这里帮不了你)
您可能能够在 html5/ajax 中执行某些操作,以便在文件上传之前在本地读取和处理文件的哈希值 - 但这与协议无关 - 实际上,您是在编写一个程序在浏览器中运行客户端,而不是使用协议。