2011-09-11 3 views
1

ユーザーはバイナリまたはASCIIのいずれかをアップロードするhtml形式stl filesを持っています。しかし、有効なバイナリファイルとasciiファイルのみがアップロードされていることを確認したいと思います。ユーザーがPDFファイルの拡張子を.stl(3DバイナリとASCIIファイルの拡張子)に変更した場合、コードは無効なstlファイル。 wikipediaを引用これは有効なVALIDバイナリSTL(ステレオリソグラフィ)ファイルであることを検出する方法

答えて

4

An ASCII STL file begins with the line: 

`solid name` 

where name is an optional string (though if name is omitted there must still be a space after solid). 

ので、ASCIIのSTLを確認するために、のチェック '^固体(名)$?' 最初の行に。

ファイルがバイナリSTLかどうかを判断するには、オフセット80の長さフィールドを利用します。ファイル内の三角形の数を指定します。

したがって、この式をチェック、バイナリSTLファイルを確認する:

filesize == [email protected] * 50 + 84 

番号84ここではバイナリSTLヘッダー(80バイト)の合計サイズと4バイトの数(三角形の数であります)をヘッダーの後に挿入します。

+0

Wikipediaにかかわらず、現実の世界では「固体」で始まるバイナリSTLファイルがあります。 – Soonts

関連する問題