JAVA中使用jquery文件上传插件分块上传文件

2024-02-03

尝试使用blueimp JQuery文件上传插件用于上传大文件(大于 1 GB)。发现使用maxChunkSize配置允许从客户端分块上传文件。我们可以使用服务器获取块大小和文件名Content-Range & Content-Disposition标头。

我的服务器是Weblogic并在 a 中编写服务器端代码Servlet.

这是我的问题:

  1. 服务器端:如何知道请求是否是最后一个块?
  2. 服务器端如何将所有接收到的块数据写入单个文件?
  3. 由于每个块将作为单独的请求发送,因此如何识别与同一文件相关的分块请求?

检查 github 上插件的 wiki - 它有一个关于分块文件上传的部分。

来自wiki https://github.com/blueimp/jQuery-File-Upload/wiki/Chunked-file-uploads:

这个例子PHP 上传处理程序 https://github.com/blueimp/jQuery-File-Upload/blob/master/server/php/UploadHandler.php支持分块上传 盒子。

为了支持分块上传,上传处理程序使用内容范围标头 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16,由插件为每个传输 块。

检查上面链接的示例 PHP 代码。

服务器端:如何知道请求是否是最后一个块?

Each Content-Range请求标头将包含该请求中包含的文件的字节范围以及文件的总字节数。因此,您可以根据字节总数检查范围的结束值,以确定请求是否包含最后一个块。

检查中给出的示例this http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16W3C 网站上的部分。

服务器端如何将所有接收到的块数据写入单个文件?

您可以将内存中的所有块收集到一个数组中,然后将它们一次性写入文件 - 但这对于较大的文件来说可能效率低下。 Java 的 IO API 提供了通过提供初始偏移量写入文件部分的方法。查看this https://stackoverflow.com/questions/181408/问题。

由于每个块将作为单独的请求发送,因此如何识别与同一文件相关的分块请求?

检查是否有Content-Range每个请求中的标头 - 如果请求具有该标头,那么它是许多块上传请求之一。使用标头的值,您可以确定该请求中包含文件的哪个部分/部分。

另外,Content-Disposition请求中的标头将包含文件名,您可以使用该文件名链接同一文件的各个请求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA中使用jquery文件上传插件分块上传文件 的相关文章

  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 加速代码 - 3D 数组

    我正在尝试提高我编写的一些代码的速度 我想知道从 3d 整数数组访问数据的效率如何 我有一个数组 int cube new int 10 10 10 我用价值观填充其中 然后我访问这些值数千次 我想知道 由于理论上所有 3d 数组都存储在内
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • 从数据库和文件系统中删除文件

    我有一个表引用我们网络上共享位置中的文件 将文件路径存储在数据库中 我有一个按钮需要从数据库中删除记录并从文件系统中删除文件 foreach var report in reports string filePath report Repo
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 禁止的软件包名称:java

    我尝试从数据库名称为 jaane 用户名 Hello 和密码 hello 获取数据 错误 java lang SecurityException Prohibited package name java at java lang Class
  • jQuery:处理 getJSON() 中的错误?

    使用 jQuery 时如何处理 500 错误getJSON http api jquery com jQuery getJSON 有几个关于错误处理的问题getJSON and https stackoverflow com questio
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • 使用Caliper时如何指定命令行?

    我发现 Google 的微型基准测试项目 Caliper 非常有趣 但文档仍然 除了一些示例 完全不存在 我有两种不同的情况 需要影响 JVM Caliper 启动的命令行 我需要设置一些固定 最好在几个固定值之间交替 D 参数 我需要指定
  • 我可以使用 mod_rewrite 更改文件扩展名吗?例如 .jpeg 到 .jpg

    我希望使用 Apache mod rewrite 将文件提供为 jpg 而不是 jpeg 这可能吗 尝试这个 RewriteEngine on RewriteRule jpeg 1 jpg
  • AWS 无法从 START_OBJECT 中反序列化 java.lang.String 实例

    我创建了一个 Lambda 函数 我想在 API 网关的帮助下通过 URL 访问它 我已经把一切都设置好了 我还创建了一个application jsonAPI Gateway 中的正文映射模板如下所示 input input params
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • 如何用另一个响应替换窗口的 URL 哈希?

    我正在尝试使用替换方法更改哈希 URL document location hash 但它不起作用 function var anchor document location hash this returns me a string va
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • 在 CKEditor 中设置字体大小和字体系列

    我正在使用 ckeditor 我想问一下这个插件如何设置font family和font size 我尝试过使用 CKEDITOR config font defaultLabel Arial CKEDITOR config fontSiz

随机推荐

  • 如何修复此分类报告警告?

    我创建了一个多类分类模型 一切都很顺利 验证准确度为 84 但当我打印分类报告时 我收到了此警告 UndefinedMetricWarning Precision and F score are ill defined and being
  • 检测 Android 上的 USB 网络共享

    有没有什么方法可以 以编程方式 在您的活动 应用程序中知道用户已在其手机上启用 USB 网络共享 您还可以使用反射来访问用于设置 USB 网络共享的隐藏功能 这是我的代码 ConnectivityManager cm Connectivit
  • Mutate_if 语法帮助 - 如何在谓词条件下添加函数参数

    寻找一些有关如何使用 dplyr 的 mutate if 语句来检查是否需要将列转换为因子变量的建议 这个函数说明了我正在尝试做的事情 问题是 当我想为函数中的 max value 参数传递一些内容时 正确的语法是什么 不起作用 我尝试更改
  • Android - 无法动态重新创建 Canvas 视图

    我试图显示在上一个屏幕中绘制的画布图像的网格视图 我有一组在第一个屏幕中绘制的不同视图 这些视图会发生变化 这些画布将根据用户的操作重新绘制 我有 5 个心形画布视图 并且我对每颗心使用不同的视图 这意味着我没有使用同一类来绘制五颗心 而是
  • Java中多项式乘以常量

    我在将多项式乘以常数 双精度 时遇到一些问题 当只有一个系数时它会起作用 但当存在多个系数时 它会给出 ArrayIndexOutOfBounds 错误并指向 setCoefficient 方法 有什么帮助吗 谢谢 public class
  • SwiftUI:呈现工作表时防止视图刷新

    我注意到添加时 SwiftUI 完全刷新了视图sheet修饰符 假设我有显示随机数的视图 我希望这个值是独立的 并且不与工作表逻辑相关 每次打开 关闭工作表时不会改变 但是每次提交 取消表格时文本都会发生变化 它应该这样工作吗 我的要点是错
  • 查询至少有 1 个关联,但返回全部

    我创建了这条记录 您可以看到它有 2 个标签 tag1 和 tag2 id d87de1d9 b048 4867 92fb a84dca59c87e name Test Name tags id fa0ca8fd eff4 4e58 8bb
  • 如何获取泛型类型参数?

    Simply public static class MyClass
  • 在 XCode 中启用代码视图的抗锯齿功能

    有没有办法让 XCode 在启用抗锯齿的情况下在编辑器中渲染文本 我在首选项对话框中看不到任何可以做到这一点的内容 XCode 文本已经是抗锯齿的 检查并确保字体大小大于以下指定的大小 系统偏好设置 gt 外观 如果大于 您可以在命令行中尝
  • 如何确保JVM中类只有一个实例?

    我正在开发一种设计模式 我想确保这里只是Java虚拟机中类的一个实例 通过一个点汇集对某些资源的所有请求 但我不知道这是否可能 我只能想出一种方法来计算类的实例并在创建第一个实例后销毁所有实例 这是正确的做法吗 如果没有的话还有其他办法吗
  • 如何在Android TimePicker中设置间隔30分钟的开始时间和结束时间?

    我正在 android 中的 DatePicker 和 TimePicker 工作 我正在从服务器获取开始时间和时间 我可以使用以下方式以编程方式设置最大日期和最小日期这个链接 https stackoverflow com questio
  • 如何防止 contenteditable 输入事件并在 vue 中设置模型值?

    我想在 contenteditable div 上使用 vue 创建简单的所见即所得编辑器 我想将编辑器内容存储到 json 对象中 我想使用状态 模型概念 我将在编辑器模板中执行类似的操作 div div
  • 在 Maven2 中,构建 WAR 和 EAR 以将该 WAR 包含在单个 POM 中的最简单方法是什么?

    情况非常简单 我有一个 Java Web 应用程序 我正在将其转换为使用 Maven 构建 目前 该应用程序使用 Ant 构建到单个 WAR 文件中 然后使用非常简单的 application xml 将其捆绑到 EAR 中 maven w
  • 如何根据布尔属性对对象数组进行排序?

    我在表中列出了用户列表 活跃用户应排列在非活跃用户之上 我正在尝试做这个sort使用洛达什sortBy功能 但不成功 这是如何userArray looks const userArray I need to show users whic
  • 更改 Rails 5 中的默认本地主机端口

    我正在使用 Rails 5 它与默认的 puma 服务器一起使用并监听 localhost 3000 我希望它侦听新端口 例如 192 168 0 0 3000 有人可以帮忙吗 谢谢 Rails 5 自带了 puma 配置在config p
  • 各功能键码快捷键

    我正在编写一个小脚本来捕获按键事件并轻松地在其上绑定函数 但我现在被困住了 问题是 如果我初始化多个 事件处理程序 它会覆盖第一次初始化的参数 几千个字不比几行代码说得更多 所以 这就是我到目前为止所做的 var keyCodes a 65
  • Spring Boot应用程序未启动嵌入式tomcat

    我是 Spring boot 应用程序的新手 我有一个任务来创建公共 CRUD 存储库 该存储库应由其余控制器处理 我刚开始举一些例子 但我的应用程序没有启动嵌入式tomcat 我的其余控制器 URI 也没有映射 这是maven模块项目 所
  • 类“test_coredataAppDelegate”的重复接口声明

    这段代码突然引发了两个错误 类 test coredataAppDelegate 的重复接口声明 重新定义 struct test coredataAppDelegate import
  • 具有 IP 范围的主机

    我的主机没有稳定的主机名 但具有预定义的 IP 范围 如何设置 Ansible 库存文件的 IP 范围 我正在尝试设置这样的东西 test ini database db ansible ssh host 1 1 1 20 25 ansib
  • JAVA中使用jquery文件上传插件分块上传文件

    尝试使用blueimp JQuery文件上传插件用于上传大文件 大于 1 GB 发现使用maxChunkSize配置允许从客户端分块上传文件 我们可以使用服务器获取块大小和文件名Content Range Content Dispositi