我在C ++中创建一个json字符串,并使用fstream
将其保存到文件中。
以下是创建文件的代码:
string json="{ \"a\"= 1 }";
fstream datei1("jsonfile.json",ios::out);
file1 << json << endl;
file1.close();
如何将mime-type设置为&#39; application / json&#39; ??
linux shell中的 file -i jsonfile.json
给了我:jsonfile.json: text/plain; charset=utf-8
答案 0 :(得分:3)
file command尝试通过阅读来猜测文件的类型。
再次阅读您的文件: 是纯文本文件。只存储了一个简单的对象,没有任何东西可以导致应用程序的回答。
因此,在不更改文件数据的情况下,您无法通过代码更改file command答案。
答案 1 :(得分:2)
来自file command的文档:
使file命令输出mime类型字符串而不是 更传统的人类可读的。因此它可能会说&text; / plain; 字符集= US-ASCII&#39;而不是&#39; ASCII文本&#39;。为了这个选项 工作,文件改变它处理文件识别的文件的方式 命令本身(如许多文本文件类型,目录等), 并利用替代魔法&#39;文件。 (参见FILES部分, 下文)。
/usr/share/file/magic.mgc
默认编制的魔法列表/usr/share/file/magic
包含默认魔术文件的目录。
您可以在wiki上阅读有关魔术文件的信息
您也可以在/etc/magic
中添加自己的签名。
但是*.json
是一个纯文本文件,没有任何签名,因此,可能无法让操作系统思考,某些文件具有application/json
mime类型而没有任何黑客攻击。 / p>