私の目標は、特定のファイルが.doc、.pdf、.svgなどであるかどうかなどのコードを使用して、ファイルの拡張子を識別することです。
1つは、ファイル名の末尾にある拡張子を使用して取得することです。しかし、ファイル名に拡張子が含まれていない場合はどうなりますか?
私が試したもう1つのことは、ファイルの最初のバイトからそれを判別することです。例:.docx拡張子ファイルは:[80,75,3,4,20,0,6、.....]で始まります。この場合、私はそれらの一部しか知りません。では、すべてのタイプの拡張機能の初期バイトはどこにありますか?
2番目のプロセスはそれを行うための有効な方法だと思いますが、ファイルの拡張子を決定する他の良い方法はありますか?
では、すべてのタイプの拡張機能の初期バイトはどこにありますか?
あなたはこれから始めることができますこれらの2つ:
しかし、そこには非常に多くのファイルタイプがあります...それらすべてを見つけることが決してできない可能性は十分にあります。
「MagicBytes」は絶対に必要な場合にのみ使用します。たとえば、blobがあり、各blobにあるファイルの種類を追跡しない、よく考えられていないdbからデータを回収する場合などです。これは、結局のところ、それでも仕事を成し遂げるためのハッキーな方法です。可能であれば、適切な拡張子のないファイルタイプを拒否してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加