情况复现
1.Controller的代码,首先确定这个代码没有问题,因为在别的地方测试过。但是今天死活都是406,后台测试看有没有跑代码发现也没有。
@Controller
@RequestMapping(value = "/" + UserService.OBSERVER, produces = "text/html;charset=UTF-8")
@CrossOrigin(origins = "*", maxAge = 3600)
public class ObserverController {
@Autowired
ObserverService observerService;
@RequestMapping(value = "/download/{logicPath}/{fileName}", method = RequestMethod.GET)
public ResponseEntity<byte[]> download(@PathVariable("logicPath") String logicPath,
@PathVariable("fileName") String fileName) {
return observerService.download(logicPath, fileName);
}
}
项目中存在@CrossOrigin是因为我的项目是前后端分离的,所以需要用到跨域。经过多方资料查找,发现文件下载出现406还有一个原因就是@RequertMapping中prodeces不能是text/html;charset=