問題タブ [libmagic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - libmagic を静的にコンパイルする (c/c++ ファイル タイプの検出)
私の以前の質問を手伝ってくれた人たちに感謝します(参照用にリンクされています)。
ファイルfileTypeTest.cpp
、libmagic.a
、およびmagic
をディレクトリに配置し、 でコンパイルできますg++ -lmagic fileTypeTest.cpp fileTypeTest
。後で、MinGW でコンパイルされた Windows で動作するかどうかをテストします。
小さな GUI アプリケーションでlibmagicを使用する予定で、配布用に静的にコンパイルしたいと考えています。私の問題はlibmagic
、外部ファイルmagic
. (実際には、短縮してコンパイルした独自のバージョンの magic_short.mgc を使用していますが、余談になります。)
ハックな解決策は、ファイルをアプリケーションにコーディングし、必要に応じて外部ファイルを作成 (および削除) することです。どうすればこれを回避できますか?
明確にするために追加されました:
magic
さまざまなファイル タイプのプロパティを記述したテキスト ファイルです。ファイルの識別を求められると、libmagic
を検索しmagic
ます。より高速に動作するコンパイル済みバージョンがありmagic.mgc
ます。私のアプリケーションは、何をすべきかを決定する前に、ほんの一握りのファイルタイプを識別するだけでよいので、独自のmagic_short
ファイルを使用してmagic_short.mgc
.
linux - ファイルの末尾に一致するマジック ファイルのテスト パターンをどのように記述しますか?
SO、Google、Bing、および linuxquestions.org で複数回検索しても何も見つからないため、これが可能であるかどうか疑問に思い始めています。
/usr/share/magic
(ユーティリティで使用される)にあるマジック パターンを拡張してfile(1)
、ファイルの末尾または末尾付近のデータに基づいてファイルを認識することに関心があります。ファイルの先頭だけでなく、先頭からファイルへの任意のオフセットに対してもこれを行うことができました。
man ページには、いくつかの標準的な使用例がかなりうまく説明されています。残念ながら、最初ではなく最後からインデックスを作成する方法はないようです。私が思いついた唯一の回避策は、tac
and/orを使用してスクリプト化されたアプローチを採用することでしたlreverse
が、これらはバイナリ データには不向きかもしれません。
また、他のスクリプト化された処理は避けたいと思いました。これは、適切なファイル マジックで実行できるはずだと思います。何か案は?
file - mime タイプを freededesktop 仕様から libmagic 形式に変換する
shared-mime-info 仕様を読んだ後、/usr/share/mime/packages に独自のタイプを追加します。データベースを更新しました:
gvfs-info を試してみたところ、正しい MIME が返されました。したがって、UNIX コマンド ファイルは libmagic を使用し、libmagic は独自のデータベース /usr/share/misc/magic を使用します。それらが libmagic の xml ファイルをマジック ファイルに変換する方法であるかどうかを知りたいですか?
thread-safety - libマジックはスレッドセーフですか?
私は答えを見つけようとして、周りを探していました。スレッドごとに1つずつ、複数のlibmagicインスタンスを作成できることを知っています。これは、スレッドセーフです。しかし、単一のインスタンスを複数のスレッド間で共有することはできますか?
python - Python: マジック ライブラリをインポートできませんでした
私は Python の初心者です。最近、JIRA のプロジェクトに取り組んでいます。問題に関する情報を取得するには、JIRA API にアクセスする必要があります。ただし、常に次のように示します。
警告: マジック ライブラリをインポートできませんでした (libmagic は存在しますか?)。アバター画像コンテンツ タイプの自動検出は機能しません。create_avatar メソッドの場合、'contentType' パラメータを明示的に指定します。
easy_install
実際、またはを使用してマジック パッケージをダウンロードするとpip
、常に失敗します。
そして、 libmagic と magic パッケージを手動でダウンロードし、それらをディレクトリにコピーしますがC:\Python27\Lib\site-packages
、句jira = JIRA()
を実行すると、上記の警告が引き続き生成されます
javascript - libmagic。text / javascript text/cssの代わりにtext/plain
libmagicを使用して、プロジェクトのWebインターフェイスでファイルのmimeタイプを取得します。cssおよびjsファイルでtext/plainmimeタイプを取得します。
たとえば、クロムは以下の警告を示しています。
Httpダイアログ
どうすればこれを修正できますか?
c - サードパートライブラリ、libmagicを使用しようとしています
私はこのコードを使ってみます:
このコードを実行すると、「マジックデータベースをロードできません」というメッセージが表示されます。なぜ?原因がわかりません…。
コンパイルするには、Visual Studio 2010を使用しますが、ビルドエラーはありません。
python - python-magic はどの libmagic を使用しましたか?
私は使用しています
python-magic
そして、私はそれを使用してインストールしました
sudo apt-get remove libmagic-dev
適切に引用するために、著者をオンラインで見つけようとしたときに、複数のlibmagic
ライブラリがあることに気付きました。
- http://linux.die.net/man/3/libmagic
- http://swoolley.org/man.cgi/3/libmagic
- http://sourceforge.net/projects/libmagic/
libmagic-dev
ubuntu apt-get リポジトリで見つかったソースは何ですか?
python - python-magicがlibmagicを見つけられないため、PythonのPushbulletがインポートエラーをスローしますか?
PushBullet.py
which uses python-magic
which uses を使用しようとしていますlibmagic
。
依存関係の指示に従い、Cygwin をインストールし、3 つのファイルをWindows\system32
ディレクトリにコピーしましたが、次のエラーが引き続き発生します。
編集
ORを入れて名前を変更すると、次のエラーが発生します。cygmagic-1.dll
cygz.dll
C:\Python27\
magic.dll
に入れcygwin1.dll
てC:\Python27\
名前を変更するとmagic.dll
、次のエラーが発生します。
私はPython 32ビット2.7.8を実行しているWindows 7 64ビットでこれを行っています(この問題を解決するには、今日新しくインストールしてください)。
問題を解決する方法を知っている人はいますか?
編集:さらに5台の異なるWindowsコンピューターで試してみましたが、5台すべてが同じ問題を抱えています。
c - 開いているファイル ポインターで fseek が失敗する
fseek に問題があります。フェッチされた HTTP データを含むファイル ポインターがあります。次に、libmagic にファイルの MIME タイプを決定させ、後で巻き戻したいと考えています。
これにより、「fetch_pull(): ファイル ハンドルを巻き戻せませんでした: 不正なファイル記述子」がスローされます。なにが問題ですか?