У меня есть файл, содержащий JSON с расширением .json. Я использую Нэнси для обслуживания файла следующим образом:
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?