如何将新创建的文件的mime-type设置为application / json? C ++

时间:2015-09-16 08:57:17

标签: c++ json

我在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

2 个答案:

答案 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>