我有一个基于Spring的控制器,其中包含以下端点。
@RequestMapping(value = "/endpoint/{id}", method = RequestMethod.GET)
public FileSystemResource getConfig(
@PathVariable int id,
HttpServletResponse response) throws ApiException, IOException {
try {
File example = service.getExampleDoc(id);
// docx official mime type
mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
// Tried both of these seperatly
response.setContentType(mimeType);
response.setHeader("Content-Type", mimeType);
response.setHeader("Content-Disposition", "attachment; filename=example.docx");
return new FileSystemResource(example);
} catch (Exception e) {
throw e;
}
}
每当我在浏览器中拨打电话时,Content-Disposition都会正确设置,但Content-Type始终会以#text; html'
的形式返回我调用的两行设置内容类型:
response.setContentType(mimeType);
response.setHeader("Content-Type", mimeType);
已经相互独立地进行了尝试,两者都包含在代码段中以保证完整性。
我错过了某个地方的一步吗?