У меня есть файл, содержащий 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.
Как изменить тип содержимого на 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?