【发布时间】:2022-02-04 21:55:13
【问题描述】:
我正在尝试做一个简单的文件上传,但它给出了一个错误,下面是我是如何做到的。
表格:
<div class="container">
<div th:replace="~{base :: titulo('Disparar Holerites')}"></div>
<div class="card mt-3">
<form class="card-body needs-validation" action="/holerite/uploadHoleritesFile" method="POST" enctype="multipart/form-data" novalidate>
<div>
<label for="arquivoContabilidade" class="form-label">Arquivo Recebido da Contabilidade</label>
<div class="input-group has-validation mb-4">
<input accept=".pdf" type="file" class="form-control" id="arquivoContabilidade" aria-describedby="inputGroupPrepend" required>
</div>
</div>
<button class="btn btn-primary" type="submit">Enviar</button>
</form>
</div>
控制器:
@PostMapping(value = "uploadHoleritesFile")
public String uploadHoleritesFile(@RequestParam("arquivoContabilidade") MultipartFile arquivoContabilidade, RedirectAttributes redirectAttributes){
logger.info("Entramos aqui");
logger.info("Recebido o arquivo: "+!arquivoContabilidade.isEmpty());
if(arquivoContabilidade.isEmpty()){
return "redirect:holerites/passo1";
}
try{
byte[] bytes = arquivoContabilidade.getBytes();
Path path = Paths.get(COTABILIDADE_FOLDER + arquivoContabilidade.getOriginalFilename());
Files.write(path, bytes);
} catch (IOException e){
e.printStackTrace();
}
return "holerites/passo2";
}
错误:
2022-02-04 18:36:41.048 DEBUG 17136 --- [nio-8080-exec-9] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for POST "/error", parameters={multipart} 2022-02-04 18:36:41.057 调试 17136 --- [nio-8080-exec-9] s.w.s.m.m.a.RequestMappingHandlerMapping:映射到 org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#errorHtml(HttpServletRequest, HttpServletResponse ) 2022-02-04 18:36:41.077 调试 17136 --- [nio-8080-exec-9] o.s.w.s.v.ContentNegotiatingViewResolver:给定 [text/html, text/html;q=0.8] 2022-02-04 18:36:41.081 调试 17136 --- [nio-8080-exec-9] os.web.servlet.DispatcherServlet:退出“错误”调度,状态 403
【问题讨论】:
标签: java spring spring-boot file-upload