curl -v -F "file=@image.jpg" localhost:8080/test/param1/param2
@Controller("/test")
class DemoController(private val fileService: FileService) {
@Post(
"/{param1}/{param2}",
consumes = [MULTIPART_FORM_DATA],
produces = [TEXT_PLAIN]
)
@ExecuteOn(TaskExecutors.IO)
fun post(
file: CompletedFileUpload,
param1: String,
param2: String
) : HttpResponse<String>{
println(file.contentType)
fileService.uploadFile("fileName", file.inputStream)
return HttpResponse.ok("Uploaded")
}
以下Java代码适用于我(Windows cURL+Micronaut 2.5.4):
package com.example;
import io.micronaut.http.HttpResponse;
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Post;
import io.micronaut.http.multipart.CompletedFileUpload;
import io.micronaut.scheduling.TaskExecutors;
import io.micronaut.scheduling.annotation.ExecuteOn;
@Controller("/test")
public class DemoController {
@ExecuteOn(TaskExecutors.IO)
@Post(value = "/{param1}/{param2}", consumes = MediaType.MULTIPART_FORM_DATA, produces = MediaType.TEXT_PLAIN)
public HttpResponse<String> post(CompletedFileUpload file, String param1, String param2) {
System.out.println("Param1: " + param1 + " Param2: " + param2 + " File name: " + file.getFilename() + " Size: " + file.getSize() + " Type: " + file.getContentType().get());
return HttpResponse.ok("Uploaded!");
}
}
cURL命令:
.\curl.exe -v -F "file=@dummy.pdf" localhost:8080/test/param1/param2
* Trying ::1:8080...
* Connected to localhost (::1) port 8080 (#0)
> POST /test/param1/param2 HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.77.0
> Accept: */*
> Content-Length: 13456
> Content-Type: multipart/form-data; boundary=------------------------2252ddfaf1589615
>
* We are completely uploaded and fine
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Mon, 31 May 2021 17:52:23 GMT
< content-type: text/plain
< content-length: 9
< connection: keep-alive
<
Uploaded!* Connection #0 to host localhost left intact
产出:
Param1: param1 Param2: param2 File name: file Size: 13264 Type: application/pdf
尝试使用声明式HTTP客户端上载文件,如下所示 卷曲 我面临的一个例外
背景:我将Kotlin与Micronaut一起使用,对于这个项目,我不会添加Spring依赖项。 我成功地创建了一个Hello Word enpoint,我可以从邮递员那里发布到它。问题始于我将数据演化为生日(java.time.LocalDate)。 抄袭自邮递员 导致 实体 控制器 gradle.properties依赖关系 格雷德尔。属性 整个项目git hub(分支机构日期问题中的错误,而
我是Liquibase的新手,我尝试将liquibase与postgres数据库一起使用liquibase脚本创建数据库表。我所做的是,我已经手动创建了Postgres表并通过运行命令 mvn液化酶:generateChangeLog 我创建了liquibase-outputChangeLog.xml文件。现在我尝试更新该脚本并在数据库中创建一个表。为此,我将XML代码写入新表的ChangeLog
我刚刚开始创建我的第一个OpenAPI定义(2.0版),我一直被这个错误所困扰: 无效的OpenAPI文件。请修复模式错误:\n\"/参数/分类Param\":域:验证;关键字:oneOf;消息:实例与一个模式不完全匹配;匹配:0" 它只是一个类似于“/cat/count”的查询,它将返回一个整数,即有多少猫-“cat”是所需的路径参数。我的参数定义到底有什么问题?
简单示例:jsp中的表单 我的控制器的方法 我的上下文xml文件 描述由于被认为是客户端错误(例如,错误的请求语法、无效的请求消息帧或欺骗性的请求路由),服务器无法或不会处理请求。 Apache Tomcat/8.5.12
OpenCV错误:未指定的错误(该函数未实现。使用Windows、GTK 2.x或Carbon支持重建库。如果您在Ubuntu或Debian上,请安装libgtk2.0-dev和pkg config,然后重新运行cmake或configure脚本),位于cvShowImage的/io/OpenCV/modules/highgui/src/window文件中。cpp,第545行回溯(最后一次调用):