4

HTML5 ファイル API を使用してファイル アップローダーを構築しています。ファイルに含まれる実際のデータに基づいて、重複したファイルがアップロードされないようにしたいと考えています。これは、名前が異なっていたり、別のフォルダーにある場合でも、2 つのファイルを同一と見なす必要があることを意味します。

md5 でハッシュを計算することを検討しましたが、これはすべてクライアント側で行わなければならないため、javascript を使用すると、大きなファイルには時間がかかりすぎます。大きいと言うときは、最大 5 GB 相当のビデオを意味します。

明確にするために、これにはチェックサムを含める必要はありません。ファイルを一意に識別したいだけです。この目的のためにハッシングはやり過ぎかもしれませんが、最初に頭に浮かんだのはハッシングでした。

更新:軽量の指紋アルゴリズムが必要だと思います。ウィキペディアでRabinを例として見つけましたが、これを javascript でどのように実装するかわかりません。

4

1 に答える 1

1

近道はありません。あいまいさのない重複ファイルを認識する必要がある場合は、ファイルの内容全体を読み取って比較する必要があります。

しかし、ある程度の誤検知に耐えることができる場合は、いくつかの戦略を取ることができます。同様の問題について、(定義済みの不変ウィンドウを使用して) ファイル ブロックの特定のサブセットの MD5 ハッシュを計算します。

于 2013-03-22T11:05:59.727 に答える