以一种形式以编程方式发送多个文件输入字段

2024-03-12

我正在尝试使用blueimp/jQuery 文件上传 https://github.com/blueimp/jQuery-File-Upload插件以编程方式通过同一表单发送多个文件输入字段。

当用户选择表单文件时,它只是将它们附加到 JS 变量中以进一步发送它们$('#form').fileupload('send')表单提交方法。我的目标是以异步方式使用与之前使用的完全相同的同步形式。因此,当用户单击表单提交按钮时,它会阻止默认操作,并让插件执行任务,发送所有表单数据并显示总体上传进度。

我主要遵循这些指南:

  • https://github.com/blueimp/jQuery-File-Upload/wiki/API https://github.com/blueimp/jQuery-File-Upload/wiki/API
  • https://github.com/blueimp/jQuery-File-Upload/wiki/Multiple-File-Input-Fields-in-One-Form https://github.com/blueimp/jQuery-File-Upload/wiki/Multiple-File-Input-Fields-in-One-Form

实际上它几乎可以工作,但它不会向服务器端发送多个输入文件。在fileuploadadd我正在推动的活动data.files[0](我的文件输入只是单个文件,但每个文件都使用不同的accept属性)到“全局”uploadable数组,然后在表单提交时我使用类似的东西$('#form').fileupload('send', {files: uploadable}).

我想我没有以正确的方式这样做,因为只有一个文件与表单数据一起发送。使用单一表单以编程方式发送多个文件输入文件的正确方法是什么?

我对整体上传进度也不太有信心......如果我使用fileuploadprogressall读取上传进度的事件会报告所有上传文件的进度吗?

JS(简化)

$(function () {
    var uploadable = [];

    $('#form').fileupload({
        autoUpload: false,
        singleFileUploads: false,
        add: function (event, data) {
            uploadable.push(data.files[0]);

            return false;
        },
        // other event callbacks
    })
        .prop('disabled', !$.support.fileInput)
        .parent().addClass($.support.fileInput ? undefined : 'disabled');

    $('#form').submit(function (event) {
        event.preventDefault();

        $('#form').fileupload('send', {files: uploadable});
    });
});

HTML

<form id="form" action="upload" method="post" enctype="multipart/form-data">
  <!-- other text/hidden inputs that will also be sent -->
  <input type="file" name="image" id="image" accept="image/*" />
  <input type="file" name="video" id="video" accept="video/*" />
</form>

uploadable.push(data.files[0])

你生动地告诉编译器只推送第一个文件。
您是否尝试过使用 foreach 并推送所有文件?

谢谢你,

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

以一种形式以编程方式发送多个文件输入字段 的相关文章

  • Visual Studio 改变 Ctrl-K-D 的工作方式

    In Visual Studio I m using 2012 is there any way of editing the way that Ctrl K D combinations handles its Auto Formatti
  • 使用 jQuery 保留切换状态[重复]

    这个问题在这里已经有答案了 可能的重复 带 Cookie 的 jQuery 切换 https stackoverflow com questions 2523189 jquery toggle with cookie 我有一个简单的切换 但
  • 仅在 Chrome 上我收到此错误:Uncaught TypeError: Illegal constructor [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 当我在 Chrome 上加载 jQuery 时 我会收到此错误 Uncaught TypeError Illegal constr
  • Pjax动画

    我终于让 pjax 工作了 但我还有另一个问题 如何添加一些 jquery 动画 如淡出 幻灯片旧内容和淡入 幻灯片新内容 默认情况下 pjax 只是更改内容 没有任何好看的效果 任何帮助将非常感激 此致 基本上 你有一堆事件 https
  • Node.js Express 4.0 中的 res.render 回调参数的用途是什么?

    目的是什么res render回调参数 在什么情况下 由于模板已被指定为第一个参数 因此人们会想要使用这样的回调参数 这是文档中的代码 send the rendered view to the client res render inde
  • 如何在 JavaScript 中将变量的内容写入文件[重复]

    这个问题在这里已经有答案了 可能的重复 firefox 如何启用本地 JavaScript 来读取 写入我的 PC 上的文件 https stackoverflow com questions 2846045 firefox how to
  • 转义 \u200b(零宽度空格)和其他非法 JavaScript 字符

    我有一组 JavaScript 对象 我引导到后端模板 以在页面加载时初始化我的 Backbone js 集合 它看起来像这样 作为 Twig 模板 我遇到的问题是某些文本字段包含 u200b 零宽度空格 这会破坏
  • 自调用函数未定义

    如果我声明一个函数文字 var x function alert hi console log x returns the function code However var x function alert hi console log
  • 为什么函数声明在不同浏览器中的处理方式不同?

    虽然我在谷歌中找不到对此的引用 但我熟悉这样一个事实 在 javascript 中 全局函数声明在执行任何代码之前都会被解释 换句话说 这工作得很好 f function f 但是 我注意到 chrome 和 firefox 对全局函数声明
  • 冒泡可用于图像加载事件吗?

    我可以用吗 window addEventListner 某种程度上来说 我所有的图像都有一个display none 图像加载后 我想设置display inline 这样我就可以规范下载图像时显示的内容 在这种情况下 我无法预加载图像
  • Next.js:错误:React.Children.only 期望接收单个 React 元素子元素

    我有一个名为Nav inside components目录及其代码如下所示 import Link from next link const Nav gt return div a Home a a About a div export d
  • 为什么 RackMultipart* 文件保留在我的 Rails /tmp 目录中?

    我正在使用 Paperclip 2 3 来处理在 Ubuntu 上运行的 Rails 3 0 3 应用程序上的图像上传 Paperclip 正在按广告处理上传 但在应用程序的 tmp 文件夹中创建的 RackMultipart 文件仍然存在
  • 如何在新窗口中打开图像或pdf文件?

    我有一个 gridview 它包含文件名和文件路径 图像和 pdf 格式文件 其中我使用了模板字段 在该字段下放置了 1 个图像按钮 单击该图像按钮 即 查看 按钮 时 我想在新窗口中打开所选文件 这是我的代码 protected void
  • 选择 asp.net CheckBoxList 中的所有项目

    ASP NET 和 C 我想要一个带有 全选 项目的复选框列表 当这个特定项目是 已选择 所有其他都将被选择 也 当选择被删除时 这个项目 也将来自所有人 其他物品 选中 取消选中 任何其他项目只会有一个 对特定项目的影响 无论选择状态如何
  • 使用 ng-if 改变角度方向

    我想通过单击将方向从 rtl 更改为 ltr and in 设置 html
  • 在 React Web 应用程序中使用 createjs-soundjs

    我想用https www npmjs com package createjs soundjs https www npmjs com package createjs soundjs在 React Web 应用程序上播放声音 我正常安装了
  • Vue-Router 抽象父路由

    我正在尝试将当前网站迁移到 vuejs 站点地图必须是 login signup password reset browse search dozens of other routes 由于其中一些路线共享大量 fx 因此我将它们设为父路线
  • Keycloak-js updateToken(minValidity) 需要澄清

    我在Keycloak js中阅读了很多该方法的示例 但没有对以下方法进行明确的解释 updateToken minValidity number KeycloakPromise
  • Chrome 调试器注入 javascript

    我有这样的好奇心 是否可以以某种方式在我的页面中注入 javascript 并执行它并调试它 正如您在控制台中所做的那样 但在控制台中您无法暂停并观察变量 是否可以调试我通过控制台输入的代码 为什么无法调试通过 XHR 接收的代码 Than
  • 使用 Ruby aws-sdk 跟踪文件到 S3 的上传进度

    首先 我知道SO中有很多与此类似的问题 在过去的一周里 我读了大部分 如果不是全部 但我仍然无法让这项工作为我工作 我正在开发一个 Ruby on Rails 应用程序 允许用户将 mp3 文件上传到 Amazon S3 上传本身工作正常

随机推荐

  • 刷新和清除何时提交?

    我正在使用 JPA EclipseLink 2 0 和 Glassfish 3 1 2 2 我想知道我打电话后是否 em flush em clear 对象立即提交到数据库 我的问题是我进行了太多交易OutOfMemory 我想通过刷新事务
  • 第一次机会例外

    我有一个在windows xp下完美运行的项目 现在我尝试在Windows 7下运行它 并在立即窗口下出现很多异常 A first chance exception of type System ArgumentNullException
  • 通话结束后回拨? (恢复 AVCaptureSession)

    我有一个摄像机应用程序 我希望它允许用户在打电话时捕捉内容 我可以通过在接到电话且会话中断时断开音频捕获来做到这一点 但由于会话不再中断 我现在无法知道电话何时结束并且可以重新连接音频设备 如果我使用这个回调AVCaptureSession
  • Haskell Thrift 库在性能测试中比 C++ 慢 300 倍

    我正在构建一个包含两个组件的应用程序 用 Haskell 编写的服务器和用 Qt C 编写的客户端 我正在使用 thrift 来传达它们 我想知道为什么它运行得这么慢 我做了性能测试 这是我机器上的结果 Results C server a
  • 如何以最佳 K 来排列(切割)树状图

    如何在树状图中画一条线对应最佳K对于给定的标准 像这样 假设这是我的树状图 最佳 K 是 4 data mtcars myDend lt as dendrogram hclust dist mtcars plot myDend 我知道abl
  • 使用 etags 进行 s3 流式传输(节点)

    我们正在使用节点中的 S3 流式传输内容createReadStream 在 aws sdk 中 我们想添加 etag 支持 如果我们从客户端添加 If None Match 标头 s3 会抛出 NotModified 作为我似乎无法处理的
  • “长”数据类型的用途是什么?

    我已经用 C 编程有一段时间了 我对大部分内容都非常熟悉 我从未理解的一件事是 长 数据类型 我用谷歌搜索了它 但我仍然不知道它是做什么用的 我发现一些页面说它与 int 具有相同的大小和相同的范围 那么使用它有什么意义呢 我在这里发现了另
  • 如何更改闪亮的小部件颜色

    使用闪亮的小部件画廊 http shiny rstudio com gallery widget gallery html作为参考 我想知道是否可以更改小部件的配色方案 具体来说 虽然有些似乎继承了 css 主题元素 但有些 例如 slid
  • cypress 登录后等待重定向

    我正在使用 cypress 测试一个网络应用程序 我登录我的beforeEach功能 然后 在我的不同测试中 我开始cy visit mysite com url 我的问题是登录后 网站重定向到网站的特定页面 此重定向发生在cy visit
  • JavaScript:如何在正则表达式中使用(反引号)`?

    在 JavaScript 中 如何在正则表达式中使用反引号 示例代码 xtype textfield regex a zA Z0 9 s u0060 反引号没有特殊含义 你可以用它作为 它会工作得很好
  • pip freeze 捕获包名称,就好像它位于 python 索引站点上一样,但事实并非如此。需要完整路径

    我从github安装了一个包 pip install e git http github com un33k django uuslug git egg django uuslug 然后我做了 pip freeze gt req txt I
  • Android 4.0内核源代码? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在哪里可以获得 Android 4 0 冰淇淋三明治 kernel源代码 虽然这可能是一些人以前问过的一
  • DisplayAttribute.GroupName 属性的用途是什么?

    我正在尝试找出的有效用法显示属性 组名 http msdn microsoft com en us library system componentmodel dataannotations displayattribute groupna
  • 开发 iPhone 应用程序时,配置文件有何用途?

    配置配置文件的用途是什么 为什么在开发 iPhone 应用程序时需要它 如果我没有配置文件 会发生什么 引用自 iPhone 开发者计划 https developer apple com programs information Appl
  • C# 本身是否使用 GPU 进行图形处理?

    我想以最快的方式绘制频繁使用的图形 如果我使用标准 C 图形回调 es graphics drawline 我这样做对吗 或者我应该使用不同的库 图形 DrawLine https msdn microsoft com en us libr
  • 使用android下载文件

    我正在尝试将文件从网络保存到我的 Android 设备 但我不知道该怎么做 URL 地址会打开一个空白页面和一个弹出下载框 其中包含我要下载的文件 以便我可以选择保存位置 我的问题是我不知道如何管理该框以下载文件 我不想下载该页面上显示的内
  • php 像 UTC 一样编译欧洲/柏林时区

    今天我一直在努力解决一个奇怪的问题 由于某种原因 我的服务器假装时区 欧洲 柏林 是 UTC 应该是 UTC 1 例如 如果我将时区设置为 欧洲 布鲁塞尔 它会正确转换时间 我创建了一些虚拟代码来测试我的服务器和在线编译器 当编译器工作时
  • 如何使用 glDrawTex*

    我想拍摄一张 png 图像并将其用作 GLView 的背景 我听说 glDrawTex 是最好的方法 但我在互联网上搜索过 但没有找到一个如何使用它的示例 至少没有一个对我有用 有什么帮助吗 虽然OES draw texture 扩展 ht
  • 在 botframework 网络聊天中发送消息(来自建议)后,如何清除聊天输入框?

    我正在使用 React js 和 botframework 网络聊天开发一个机器人应用程序 问题是我想在发送消息后清除文本输入框 从发送消息的位置 这是从建议中选择的 建议列表 或自动完成组件 是自定义编码的列表 我的意思是 如果我输入 h
  • 以一种形式以编程方式发送多个文件输入字段

    我正在尝试使用blueimp jQuery 文件上传 https github com blueimp jQuery File Upload插件以编程方式通过同一表单发送多个文件输入字段 当用户选择表单文件时 它只是将它们附加到 JS 变量