我想将一个大文件上传到服务器,并将路径和元数据保存在数据库中。 例如:
upload file.bam with param = { user:"boby", file_score=34 }
并存储在数据库中:
Table files
{
path : "/uploads/files/file.bam",
user : "boby" ,
file_score :34
}
什么是最好的approch? 将REST API与FTP混合使用? ftp上传后运行Sql查询? 有一些工具可以完成这项工作吗?
答案 0 :(得分:0)
忘了FTP。 HTTP的理论开销不值得FTP的不便(更不用说FTPS / SFTP)。
对于小型传输而言,HTTP更快,对于较大的传输,速度主要取决于较低层(TCP ...)。此外,HTTP只需要一个端口(80或443用于HTTPS),因此当您必须处理防火墙,NAT时更容易使用...它还提供了许多FTP无法使用的功能(压缩,身份验证) ...)。 WebDAV建立在HTTP之上是有原因的。
主要参与者都通过HTTP发送元数据和内容:
有关可靠地上传元数据和大文件的API的灵感,我建议您查看Google如何处理resumable uploads。