问题标签 [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.

0 投票
3 回答
5902 浏览

c++ - 静态编译libmagic(c/c++文件类型检测)

感谢帮助我解决上一个问题的人(链接仅供参考)。

我可以将文件fileTypeTest.cpplibmagic.amagic放在一个目录中,并且可以使用g++ -lmagic fileTypeTest.cpp fileTypeTest. 稍后,我将测试它是否可以在使用 MinGW 编译的 Windows 中运行。

我打算在一个小型 GUI 应用程序中使用libmagic,我想静态编译它以进行分发。我的问题是这libmagic似乎需要外部文件,magic. (我实际上使用的是我自己的缩短和编译版本,magic_short.mgc,但我离题了。)

一个 hacky 的解决方案是将文件编码到应用程序中,根据需要创建(和删除)外部文件。我怎样才能避免这种情况?

为清楚起见添加:

magic是描述不同文件类型属性的文本文件。当被要求识别文件时,libmagic搜索magic. 有一个编译版本,magic.mgc运行速度更快。我的应用程序只需要在决定如何处理它们之前识别少数文件类型,所以我将使用我自己的magic_short文件来创建magic_short.mgc.

0 投票
1 回答
1278 浏览

linux - 你如何编写一个魔术文件测试模式来匹配文件的结尾?

我开始怀疑这是否可能,因为在 SO、Google、Bing 和 linuxquestions.org 上的多次搜索都一无所获。

我有兴趣扩展位于/usr/share/magic(由file(1)实用程序使用)的魔术模式以根据文件末尾或附近的数据识别文件。我已经能够为文件的开头执行此操作,以及从开头到文件的任意偏移量。

手册页很好地说明了一些标准用例;不幸的是,似乎没有办法从头开始索引。我能想到的唯一解决方法是采用脚本方法使用tac和/或lreverse,但觉得这些可能对二进制数据不友好。

另外,我想避免任何其他脚本处理——我觉得这应该可以通过正确的文件魔法来实现。有任何想法吗?

0 投票
1 回答
486 浏览

file - 将 mime 类型从 freededesktop 规范转换为 libmagic 格式

阅读shared-mime-info 规范并在 /usr/share/mime/packages 中添加我自己的类型后。我已经刷新了数据库:

我尝试使用 gvfs-info,它返回正确的 mime。所以 unix 命令文件使用 libmagic 和 libmagic 使用他自己的数据库 /usr/share/misc/magic 。我想知道它们是否可以将 xml 文件转换为 libmagic 的魔法文件?

0 投票
1 回答
982 浏览

thread-safety - lib 魔法线程安全吗?

我一直在四处寻找,试图找到答案。我知道我可以创建多个 libmagic 实例,每个线程一个,这是线程安全的。但是我可以在多个线程之间共享一个实例吗?

0 投票
1 回答
3147 浏览

python - Python:无法导入魔法库

我是 Python 新手,最近我在 JIRA 上做一个项目。我需要访问 JIRA api 来检索有关问题的一些信息。但它总是表示如下:

警告:无法导入魔法库(是否存在 libmagic?)头像图像内容类型的自动检测将不起作用;对于 create_avatar 方法,明确指定“contentType”参数。

事实上,当我用easy_installor下载魔法包时pip,它总是失败。

然后,我手动下载了libmagic和magic包,将它们复制到目录C:\Python27\Lib\site-packages中,但是在执行该子句时jira = JIRA(),它仍然会产生如上所述的警告

0 投票
2 回答
2009 浏览

javascript - 库魔法。text/plain 而不是 text/javascript text/css

我使用 libmagic 在我的项目的 Web 界面中获取文件的 mime 类型。我在 css 和 js 文件上获得 text/plain mime 类型。

例如铬显示以下警告:

Http 对话框

我怎样才能解决这个问题?

0 投票
3 回答
2173 浏览

c - 尝试使用第三部分库 libmagic

我尝试使用此代码:

执行此代码时出现消息:“无法加载魔法数据库”。为什么?我不明白是什么原因......

编译我使用 Visual Studio 2010,没有任何构建错误。

0 投票
1 回答
3485 浏览

python - python-magic 使用了哪个 libmagic?

我正在使用

python-magic

我已经安装了它

sudo apt-get remove libmagic-dev

为了正确引用它,当我试图在网上找到作者时,我意识到有多个libmagic库,例如

libmagic-dev在 ubuntu apt-get repo中找到的来源是什么?

0 投票
3 回答
2582 浏览

python - 由于 python-magic 无法找到 libmagic,python 上的 Pushbullet 引发导入错误?

我正在尝试使用PushBullet.pywhich uses python-magicwhich 又使用libmagic.

我已按照依赖项说明安装了 Cygwin 并将三个文件复制到Windows\system32目录但仍然收到以下错误:

编辑

如果我将OR放入并将其重命名为,则会收到以下错误:cygmagic-1.dll cygz.dllC:\Python27\magic.dll

如果我cygwin1.dll输入C:\Python27\并将其重命名为,则会magic.dll收到以下错误:

我在运行 Python 32bit 2.7.8 的 Windows 7 64bit 上执行此操作(今天全新安装以尝试解决此问题)。

有谁知道如何解决这个问题?

编辑:在另外 5 台不同的 Windows 计算机上进行了尝试,所有 5 台计算机都有相同的问题。

0 投票
1 回答
1651 浏览

c - fseek 在打开文件指针上失败

我在使用 fseek 时遇到问题。我有一个包含获取的 HTTP 数据的文件指针。然后我让 libmagic 确定文件的 mime 类型,然后想倒带:

这会抛出“fetch_pull():无法倒带文件句柄:错误的文件描述符”。怎么了?