我只是尝试使用以下文章在 AWS Lambda 上运行 Spring Boot 应用程序:https : //github.com/awslabs/aws-serverless-java-container/wiki/Quick-start---Spring-Boot基本请求工作正常,但发送文件似乎会导致问题。在本地运行应用程序工作正常:@RestController@EnableWebMvcpublic class PingController { @RequestMapping(path = "/ping", method = RequestMethod.GET) public Map<String, String> ping() { Map<String, String> pong = new HashMap<>(); pong.put("pong", "Hello, World!"); return pong; } @RequestMapping(path = "/ping", method = RequestMethod.POST) public Map<String, Long> ping(@RequestParam("file") MultipartFile file) { Map<String, Long> pong = new HashMap<>(); pong.put("filesize", file.getSize()); return pong; }}/ping 上的 GET 会按预期返回有效消息:{ "pong": "Hello, World!"}向包含图像的 /ping 发送 POST 会导致以下异常:{ "timestamp": 1540237302941, "status": 500, "error": "Internal Server Error", "exception": "org.springframework.web.multipart.MultipartException", "message": "Could not parse multipart servlet request; nested exception is java.lang.IllegalArgumentException: File path not allowed: /image.jpeg", "path": "/ping"}将以下行添加到application.properties文件中没有帮助:spring.http.multipart.location=/tmp/甚至指定的资源是否存在都无关紧要。POST 到 /ping2(不存在)会导致相同的异常。
1 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
这是亚马逊图书馆中的一个错误,几天前已修复。可在此处获得更多信息。只要确保使用 1.2 或更高版本:
<dependency>
<groupId>com.amazonaws.serverless</groupId>
<artifactId>aws-serverless-java-container-spring</artifactId>
<version>1.2</version>
</dependency>
添加回答
举报
0/150
提交
取消