java - Java Webservice 上传文件太慢

标签 java web-services jakarta-ee file-upload

我使用标准java文件流来上传文件。当我尝试上传 25MB 大小的 zip 文件时,花了将近 11 分钟。但当我尝试将该文件上传到 yousendit.com 一个文件上传网站时,只花了 25 秒。以下是我的代码


            File file = new File(destination + fileName);
            FileOutputStream fileOutputStream = new FileOutputStream(file);

            byte[] buffer = new byte[1024];
            InputStream in = dataHandler.getDataSource().getInputStream();
            int len = in.read(buffer);

            while (len != -1) {
                fileOutputStream.write(buffer, 0, len);
                len = in.read(buffer);
            }

            fileOutputStream.flush();
            fileOutputStream.close();

我没有加快上传速度的想法?还有其他第 3 方 API 或其他建议吗?

最佳答案

您可以将文件分割成 block 并在单独的线程中上传每个 block 。据我所知,HTTP 标准定义了特殊的 header ,可以帮助服务器将 block 连接在一起。

从看FileUpload开始来自阿卡赫

关于java - Java Webservice 上传文件太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16458940/

相关文章:

java - 在 Eclipse IDE 中恢复已删除的文件

java - 从函数 Android 更新 Textview

node.js - Node 中使用 SSL 的 SOAP 请求

java - JSP/Servlet 中的隐藏表单

java - 如何模拟二维图像中的衣服变化?

java - 外面填充一个圆圈,里面变成透明

c# - 使用 asp.net 通过移动应用发送文件上传的步骤

ios - iOS 中的 SOAP 网络服务

java - Java SE 应用程序和 Java EE 应用程序之间的区别?

jsf - CDI 托管 Bean 和 JSF 托管 Bean 可以相互通信吗?