相关疑难解决方法(0)

SpringBoot:使用Apache Commons FileUpload上传大型流文件

我试图使用'流'Apache Commons File Upload API上传大文件.

我使用Apache Commons File Uploader而不是默认的Spring Multipart上传器的原因是当我们上传非常大的文件大小(~2GB)时它失败了.我在一个GIS应用程序上工作,这种文件上传很常见.

我的文件上传控制器的完整代码如下:

@Controller
public class FileUploadController {

    @RequestMapping(value="/upload", method=RequestMethod.POST)
    public void upload(HttpServletRequest request) {
        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if (!isMultipart) {
            // Inform user about invalid request
            return;
        }

        //String filename = request.getParameter("name");

        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload();

        // Parse the request
        try {
            FileItemIterator iter = upload.getItemIterator(request);
            while (iter.hasNext()) {
                FileItemStream item = iter.next();
                String name = item.getFieldName();
                InputStream stream = item.openStream();
                if …
Run Code Online (Sandbox Code Playgroud)

spring apache-commons apache-commons-fileupload spring-boot

22
推荐指数
2
解决办法
3万
查看次数

Spring Boot RestController - PostMapping - 将请求正文作为 InputStream 处理

在 Spring Boot RestController 中使用 PostMapping 时,是否有一种简单的方法可以将 POST HTTP 请求的正文作为 InputStream 处理?

接受来自 Multipart HTTP POST 请求的文件上传作为 MultipartFile 实例非常简单,但我希望能够简单地将二进制内容发布到 HTTP 端点并将其作为 InputStream 处理。

这可以用 Spring Boot 吗?

例如使用以下 Postman POST:

在此处输入图片说明

rest post spring spring-boot

5
推荐指数
2
解决办法
1797
查看次数