我有一个包含JSP页面的项目。我希望它有一个文件上传表单,它应该发布到将处理它的API。我正在通过
上传<form action="api/processExcel" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
</form>
当我删除enctype="multipart/form-data"
时,它工作正常但是只要我把它放在那里并重新编译并运行项目就会出现此错误:
Invalid CSRF Token 'null' was found on the
request parameter '_csrf' or header 'X-CSRF-TOKEN'.
我还需要知道文件上传的位置。是否有上传的默认位置或我们需要指定它?
当我这样做时
` try {
http
.csrf().disable();
// .authorizeRequests()
// .antMatchers("/static/**").permitAll()
// .antMatchers("/settings/api/**").permitAll()
// .antMatchers("/api/**").permitAll()
// .anyRequest().authenticated()
// .and()
// .formLogin()
// .loginPage("/login").permitAll()
// .defaultSuccessUrl("/index",true) ;
}`
并禁用csrf它开始正常工作。