首页 > 解决方案 > 分块上传切割文件大小

问题描述

我正在使用 Spring Boot 后端来处理 POST 和 PATCH 请求。如果我不分块上传图像,它们就可以通过。但是,当我尝试使用分块时,文件大小会急剧减少。例如,如果我通过分块发送一个 2.3MB 的图像,并在服务器进程开始之前将文件记录到控制台,则 fileSize 属性是准确的,但是当 PATCH 请求通过时,upload-length 标头读取 23236,这是几个比我发送的图像小几个数量级。

如果我在字节通过时将它们写入文件,我仍然会得到一个图像,但它比原始图像小得多。

尝试处理图像时是否缺少步骤?这是我的 FilePond 设置:

var pond = FilePond.create(document.querySelector("input[type='file']"), {

        // default crop aspect ratio

        instantUpload: false,

        // resize to width of 200
        imageResizeTargetWidth: 200,

        // open editor on image drop
        imageEditInstantEdit: false,
        chunkUploads: true,
        chunkSize: 5000,
        allowMultiple: true,

        // configure Doka
        imageEditEditor: doka,
        server: {
            url: 'http://localhost:3001/demo'
        }
});

标签: springspring-bootchunksfilepond

解决方案


imageResizeTargetWidth将改变图像文件大小

此外,对于分块传输,Firepond 发送的第一个请求是

启动分块传输的 POST 请求(无文件),期望在响应正文中收到唯一的传输 id,它会在此请求中添加 Upload-Length 标头

github.com/pqina/filepond-docs/blob/master/content/patterns/API/


推荐阅读