vertx文件上传|将数据附加到文件

时间:2019-11-28 00:39:13

标签: java file-upload append vert.x

我想将文件发布到vertx http服务器。它工作正常。下一步是,我将介绍一个将数据附加到Web服务器上现有文件的功能。 我的想法是更改 new OpenOptions()参数。

public HttpServerFileUpload streamToFileSystem(String filename) {
        Pipe<Buffer> pipe = this.stream.pipe().endOnComplete(false);
        this.context.owner().fileSystem().open(filename, new OpenOptions(), (ar) -> {
            if (ar.succeeded()) {
                this.file = (AsyncFile)ar.result();
                pipe.to(this.file, (ar2) -> {

...

方法 streamToFileSystem (我要更改其中的一部分)是 HttpServerFileUploadImpl 类的成员。该课程不是公开的,我无法扩展该课程。 streamToFileSystem 方法在 BodyHandlerImpl

中调用
context.request().uploadHandler((upload) -> {
                    if (BodyHandlerImpl.this.bodyLimit != -1L && upload.isSizeAvailable()) {
                        long size = this.uploadSize + upload.size();
                        if (size > BodyHandlerImpl.this.bodyLimit) {
                            this.failed = true;
                            context.fail(413);
                            return;
                        }
                    }

                    if (BodyHandlerImpl.this.handleFileUploads) {
                        this.uploadCount.incrementAndGet();
                        String uploadedFileName = (new File(BodyHandlerImpl.this.uploadsDir, UUID.randomUUID().toString())).getPath();
                        upload.streamToFileSystem(uploadedFileName);
...

upload 是接口 HttpServerFileUpload ,我不知道如何注入或调用实现类 HttpServerFileUploadImpl 。这就是为什么我不知道如何调用修改后的类/方法的原因。

有人可以给我一个提示吗?

0 个答案:

没有答案