问题标签 [multipartfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2122 浏览

java - 如何将任何图像转换为JPG?

MultipartFile从休息控制器接收一个 Spring 对象。我正在尝试将任何 inage 文件转换为JPG图像,但我只需要字节数组来保存mongoDb

我发现这段代码可以做到这一点

result作为一个false没有错误,所以ImageIO.write不工作

我也发现这样做也是一样的,但是使用File对象,我不想create目录上的文件,我只需要字节数组

测试

我该如何解决我的问题?

0 投票
0 回答
498 浏览

spring-boot - 在 Spring Boot 中将多部分文件转换为字符串失败

这是错误信息:

控制器:

表格html:

0 投票
2 回答
160 浏览

java - MultipartFile 始终为 NULL

使用 MultipartFile 上传文件时遇到问题。每当我上传时,我都在使用 Spring v2.2.6.RELEASE,我得到值字符串,但文件为 NULL。下面是我的代码

上传控制器.java

附件请求DTO

...

配置文件

SpringApplication.java

这是点击邮递员时的屏幕截图 邮递员表单数据

这是日志文件的屏幕截图结果。如您所见,我可以获得字符串的值,但我得到的文件始终为空。我尝试在配置文件中添加 multipartResolver,因为这解决了他们的问题,但对我来说,我没有得到相同的结果。有没有人遇到过这个问题,你是如何解决这个问题的。是否有特定版本的球衣用于此目的?

同样每当启动它时,日志警告都会告诉我 ConfigSetup.class 被忽略。我不确定这是否是我拥有 NULL 指针的原因之一。

0 投票
0 回答
119 浏览

database - 如何使用 MultipartFile 和 BindingResult 处理图像上传到数据库

我目前正在尝试从表单(名称、密码、图像)等发送数据。我正在使用 Spring Boot、JPA、Thymeleaf 和 MultipartFile,但出现以下错误:

在在这里发布我的问题之前,我在谷歌上进行了搜索,但找不到任何可以帮助我的东西。起初,我认为 MultipartFile 有问题,但决定摆脱 BindingResult(我用它来显示我的 thymeleaf 模板中的错误,例如密码不匹配正则表达式或某些字段没有足够的字符等)和它解决了这个问题。图片已成功上传到数据库。

但是,我想保留 BindingResult 并使其与 MultipartFile 一起使用。

这是我的代码。

我的实体(配置):

我的配置服务:

配置控制器:

我的表格(我正在使用百里香叶):

据我了解,在我的实体(配置)中,标头是一个字节 [](longblob),但由于 MultifilePart 以不同的格式处理我的文件,一个与我的实体中的字节 [] 不匹配的格式,这就是导致错误。

请问有什么简单的方法可以解决这个问题吗?

谢谢!

编辑:我通过使用 @InitBinder 找到了一个临时解决方法

我仍然很想知道是否有另一种方法来处理这个问题(不禁用该字段),所以我仍然可以检查文件是否为 png、jpg 等(以增加安全性)。

0 投票
0 回答
344 浏览

spring-boot - MultipartFile Wrapper Object 作为@ModelAttribute 但不是@RequestParam

我创建了一个 spring RestController 来处理来自 react js UI 的 fileUpload。

为了能够通过@Validated注释使用自定义验证,必须将 MultipartFile 包装到一个类中,我将其命名为UploadedFile. 创建了我的 Post Handler 方法,参数为@ModelAttribute. 一切正常。

validate(target, error)我的自定义验证器中的方法被调用,并且在 POST 处理程序方法中,UploadedFile对象具有包含上传文档的多部分文件。

这是一个完美的工作代码


到目前为止一切都按预期工作,问题出现时

有人问我,这@ModelAttribute是一个 Spring MVC 结构,因为这是一个微服务,将来除了我的 React UI 之外,它也会满足其他 api 请求,所以我应该使用@RequestParam而不是@ModelAttribute.

所以我@ModelAttribute改为@RequestParam如下

但现在我得到了以下异常

如果,对于@RequestParam,我改变类型,MultipartFile而不是UploadedFile 然后我的 posthandler 被调用,但自定义验证器在处理程序调用之前没有被 spring 调用,我尝试MultiPartFile在验证器支持方法中使用 instanceOf,但仍然无济于事。


我有办法通过代码显式调用自定义验证器方法作为 POST 处理程序中的第一行,所以我不需要解决方案我的问题是

怎么会,不添加任何自定义@Bean或任何额外的外部依赖项,一切都可以在@ModelAttribute 上正常工作,但仅仅更改注释@RequestParam是行不通的。

0 投票
0 回答
533 浏览

java - 在 JUnit 5 的测试中将 swagger API 控制器与 MultipartFile 集成

我是使用 Spring Boot v2.3.0.RELEASE、Java 8、JUnit 5 和 Swagger OAS 3 的新手,我尝试测试 API 控制器(使用 swagger-codegen 生成)与我的服务的集成,这个控制器包含一个允许将文件上传到图库的独特方法,但是当我运行测试时,这会在映射器转换文件的那一刻引发异常。

我不明白为什么会这样,我生成错误的 MultipartFile 模拟测试?

如何解决这个问题呢?

类 GaleriaAPIControllerTest

类 BaseControllerTest

类 GaleriaAPI(使用 swagger-codegen 创建的类)

类 ArchivoDTO(使用 swagger-codegen 创建的类)

测试错误

0 投票
0 回答
87 浏览

spring-mvc - 如何在 htmlunit 中上传 MultipartFile?

我正在使用 HtmlUnit 通过向 spring 控制器发出请求来上传文件。该文件的类型为 MultipartFile。使用以下代码仅适用于文件类型 java.io.File。如何调用 MultipartFile?

WebRequest request = new WebRequest(new URL("/customer/uploadfile),POST);

request.setRequestParameters(toList(new KeyDataPair("newfile", file,"customerfile", "multipart/form-data", StandardCharsets.UTF_8)));

0 投票
2 回答
271 浏览

java - Spring Boot 文件多部分接受允许的一半大小

我写了一个控制器如下:

我在 application.porterties 进行了以下配置:

但我可以上传高达 ~15MB 的文件 已编辑:Spring Boot 版本:2.0.1

0 投票
0 回答
71 浏览

java - Android 文件上传 - 使用后端作为 Java Rest API 的 Retrofit Multipart

你能帮我用后端java rest api(mysql db)上传Multipart Retrofit文件吗?我尝试使用下面的代码,但它不工作..

改造部分

活动.java

FarmOwnerApi.java

后端 - Java Rest API

0 投票
0 回答
101 浏览

android - 使用 Multipart Retrofit 和 java Rest api 上传 Android 文件

你能帮我用后端java rest api(mysql db)上传Multipart Retrofit文件吗?我尝试使用下面的代码,但它不工作..

改造部分

活动.java

FarmOwnerApi.java

后端 - Java Rest API