2016-09-09 8 views
0

大きなファイルをサーバーにアップロードし、パスとメタデータをデータベースに保存したいとします。例えば :データベース内アップロードファイルと仮想ファイルシステムデータベース

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

FTPについては忘れてください。 FTPの理論上のオーバーヘッドは、FTPの不便さに値するものではありません(FTPS/SFTPだけではありません)。

HTTPは小規模な転送では高速ですが、大型の転送では速度は主に下位レイヤ(TCP ...)に依存します。また、HTTPは1つのポート(HTTPSの場合は80または443)しか必要としないため、ファイアウォールやNATを処理する必要がある場合には使いやすくなります。また、FTPでは使用できない多くの機能(圧縮、認証...)。 WebDAVがHTTPの上に構築される理由があります。

の主要なプレーヤーはすべて、HTTPを介してメタデータとコンテンツの両方を送信します。

メタデータと大きなファイルの両方を確実にアップロードするAPIについては、resumable uploadsの処理方法をご覧ください。