我试图做一个简单的文件上传,但它给出了一个错误,下面是我如何做到的。
形式:
<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.048DEBUG 17136---[nio-8080-exec-9]o.s.web.servlet.DispatcherServlet:"ERROR"调度为POST"/error",参数={multipart}2022-02-04 18:36:41.057DEBUG 17136---[nio-8080-exec-9]s. w. s. m. m. a. Request estMappingHandlerMap:映射到org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#errorHtml(HttpServletRequest, HttpServletACK)2022-02-04 18:36:41.077DEBUG 17136---[nio-8080-exec-9]o. s. w. s. v. ContentNe谈判视图解析器:选定的"text/html"给定[text/html, text/html; q=0.8]2022-02-04 18:36:41.081DEBUG 17136---[nio-8080-exec-9]o.s.web.servlet.DispatcherServlet:退出"ERROR"调度,状态403
您应该在html的输入字段中添加一个属性。Thymeleaf在将其映射到多部分文件时使用name属性。
示例:
<input accept=".pdf" name="arquivoContabilidade" type="file" class="form-control" id="arquivoContabilidade" aria-describedby="inputGroupPrepend" required>
此外,我假设您的控制器具有注释RequestMapping(“/holerite”)。
如果没有,你也必须改变
@PostMapping(value = "uploadHoleritesFile")
到
@PostMapping(value = "/holerite/uploadHoleritesFile")
因为您的表单具有<代码>
我正在IIS服务器上使用网站面板。我想使用ftp上载文件 我使用了以下代码: 这段代码运行没有错误。当我使用网站面板的文件管理器时,一个文件创建了“Name.ext”,但这个文件大小是0 KB。为什么?我有什么问题?! 我确信windows防火墙允许我这么做。 更新:我正在使用UploadFileTask和UploadFile(unasync)进行操作,但结果与async相同:(
本文向大家介绍SpringBoot后台实现文件上传下载,包括了SpringBoot后台实现文件上传下载的使用技巧和注意事项,需要的朋友参考一下 SpringBoot后台如何实现文件上传下载? 最近做的一个项目涉及到文件上传与下载。前端上传采用百度webUploader插件。有关该插件的使用方法还在研究中,日后整理再记录。本文主要介绍SpringBoot后台对文件上传与下载的处理。 单文件上传 如果
本文向大家介绍详解SpringBoot文件上传下载和多文件上传(图文),包括了详解SpringBoot文件上传下载和多文件上传(图文)的使用技巧和注意事项,需要的朋友参考一下 最近在学习SpringBoot,以下是最近学习整理的实现文件上传下载的Java代码: 1、开发环境: IDEA15+ Maven+JDK1.8 2、新建一个maven工程: 3、工程框架 4、pom.xml文件依赖项
我需要一些上传图像的帮助。 我有两个不同的申请 在我的专用服务器上运行的Springstart应用程序 Angulal-6 Application-在我的云服务器上运行 我需要从我的spring boot应用程序上传一个图像到Angular-6资产文件夹(资产文件夹类似于spring boot应用程序的资源文件夹) 在application.properties我已经声明上传位置,如profile
本文向大家介绍springboot实现文件上传和下载功能,包括了springboot实现文件上传和下载功能的使用技巧和注意事项,需要的朋友参考一下 spring boot 引入”约定大于配置“的概念,实现自动配置,节约了开发人员的开发成本,并且凭借其微服务架构的方式和较少的配置,一出来就占据大片开发人员的芳心。大部分的配置从开发人员可见变成了相对透明了,要想进一步熟悉还需要关注源码。 1.文件上传
我试图上传多个文件使用Spring mvc 4,Spring引导和thymeleaf作为模板引擎,但我无法访问上传的文件,文件被处理为一个多部分文件与内容类型的应用程序/octet-stream. 以及控制器代码: sysout的输出: 上传图像长度:1(即使我上传了多个文件) 文件原始名称(使用getOrialFileName): 文件名(使用getName):文件[] 文件大小: 0 文件内容