我正在尝试使用 ServiceStack 作为 Fine Uploader 的端点来上传一些文件。由于 IE 的不良行为,如果响应设置为内容类型 json/application ,IE 会提示下载响应,如下所示:
IE tries to download json response while submitting jQuery multipart form data containing file
如何强制 ServiceStack 以文本/纯文本形式响应。我正在尝试这个:
public class UploadFileService : Service
{
[AddHeader(ContentType = "text/plain")]
public object Any(UploadFile request)
{
foreach (var uploadedFile in base.RequestContext.Files)
{
var test = uploadedFile.FileName;
}
return new UploadFileResponse{ Success = true};
}
}
但是使用端点时的服务堆栈:
/api/UploadFile?format=json
仍然返回内容类型为 application/json
有什么想法吗?
谢谢
最佳答案
如果您只想返回一个 plain/text
字符串,则还需要返回一个字符串 as seen in this example 。因为它是一个 POCO 对象,所以您首先要序列化它(假设是 JSON):
public class UploadFileService : Service
{
[AddHeader(ContentType = "text/plain")]
public object Any(UploadFile request)
{
foreach (var uploadedFile in base.RequestContext.Files)
{
var test = uploadedFile.FileName;
}
var dto = new UploadFileResponse { Success = true };
return dto.ToJson();
}
}
否则你可以直接返回字符串文字,例如:
return "{Success:true}";
关于javascript - Fine Uploader 和 ServiceStack 设置响应 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15966915/