簡體   English   中英

如何將新創建的文件的 MIME 類型設置為 application/json? C++

[英]How to set the mime-type of a new created file to application/json? C++

我正在 C++ 中創建一個 json 字符串並使用fstream將其保存到文件中。

下面是創建文件的代碼:

  string json="{ \"a\"= 1 }";

  fstream datei1("jsonfile.json",ios::out);
  file1 << json << endl;
  file1.close();

如何將 mime-type 設置為“application/json”?

linux shell 中的file -i jsonfile.json給了我: jsonfile.json: text/plain; charset=utf-8 jsonfile.json: text/plain; charset=utf-8

file 命令嘗試通過讀取文件來猜測文件的類型。

並再次閱讀您的文件:它一個純文本文件。 只有一個簡單的對象存儲,沒有什么可以導致應用程序的答案。

因此,在不更改文件數據的情況下,您無法從代碼中更改文件命令答案。

文件命令的文檔中:

使 file 命令輸出 mime 類型的字符串,而不是更傳統的人類可讀的字符串。 因此它可能會說“文本/純文本; charset=us-ascii' 而不是 'ASCII text'。 為了使這個選項起作用,文件改變了它處理由命令本身識別的文件的方式(例如許多文本文件類型、目錄等),並使用替代的“魔法”文件 (請參閱下面的文件部分)。

/usr/share/file/magic.mgc默認編譯的魔法列表。
/usr/share/file/magic包含默認魔法文件的目錄。

您可以在wiki上閱讀有關魔法文件的信息。
您也可以在/etc/magic添加自己的簽名。

但是*.json是一個純文本文件,沒有任何簽名,因此,可能無法讓操作系統認為某些文件具有application/json mime 類型而沒有任何黑客攻擊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM