【发布时间】:2021-03-17 14:50:22
【问题描述】:
我有一个带有端点的应用程序和一个运行它的 tomcat 服务器。我可以用文件点击邮递员的端点并将其上传到我服务器上的 excel 文件中。
问题是为了让它工作我必须在我的 tomcat 的 context.xml 中添加 allowCasualMultipartParsing="true" 我不想在我的本地 tomcat 上添加这个修复程序。
我需要一个修复程序,尽管它正在运行的 tomcat 服务器也能正常工作。因此,如果有人要添加一个新的 tomcat,他们就不会遇到这个问题。例如在 tomcat 9.0.6
很难证明这个问题,因为它是由于在独立的 tomcat 上运行应用程序造成的。当我在没有独立的 tomcat 9.0.38 的情况下运行它时它可以工作。
上传文件代码
@Controller
@RequestMapping("/ListCtrl")
public class listController {
@RequestMapping(method = {RequestMethod.POST}, value = "/list")
@Consumes (MediaType.MULTIPART_FORM_DATA)
@Produces (MediaType.TEXT_XML)
@ResponseBody public Map<String, Object> uploadFile(
@FormDataParam("file") InputStream uploadedInputStream,
@FormDataParam("file") MultipartFile file,
@RequestParam("listName") String listName,
@RequestParam Integer
listid){
Map<String, Object> resultMap = null;
resultMap = new HashMap<>();
resultMap.put("status", "successful");
resultMap.put("file", file.getName());
System.out.println(file.getOriginalFilename());
return resultMap;
}
我在无法运行的项目上遇到的错误是 HTTP 状态 500 - 无法解析多部分 servlet 请求;嵌套异常是java。 lang.IllegalStateException: 无法处理部分,因为没有提供多部分配置
【问题讨论】:
标签: java spring spring-boot multipartform-data tomcat9