我有一个文件,其中包含一些扩展名为 .json 的 JSON。我正在使用 Nancy 来提供文件,如下所示:
Get["/schema/{file}"] = parameters =>
{
return Response.AsFile(Directory.GetCurrentDirectory() + @"\sitefiles\schema\" + parameters.file as String);
}
当我对这样的文件发出 jQuery ajax 请求时:
$.ajax({
url: "/schema/auditResponseSchema.json",
type: 'GET',
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function (responseSchema) {
console.log("get response data - Success");
console.log(responseSchema);
},
timeout: 5000,
error: function (xmlObj, textStatus, errorThrown) {
console.log("get response data - failed. status:" + textStatus + " error:" + errorThrown);
}
});
我取回了文件,但它不被识别为 JSON,我确定这是因为返回的 Content-Type 是 application/octet-stream。
如何将 Content-Type 更改为 application/json?
我试过了:
// this returns "application/json in the content.
return Response.AsFile(Directory.GetCurrentDirectory() + @"\sitefiles\schema\" + parameters.file as String).Headers["Content-Type"] = "application/json";
// this returns the location of the file
return Response.AsJson(Directory.GetCurrentDirectory() + @"\sitefiles\schema\" + parameters.file as String);
我必须将文件的内容读入字符串然后使用 Response.AsJson 还是有办法更改 Response.AsFile 返回的标题?