HTML5 拖放上传

2024-01-02

有谁知道如何使用HTML5实现桌面拖放文件上传吗? 我找到了以下参考资料:

  1. 使用拖放选择文件 (2017-08) https://developer.mozilla.org/en/Using_files_from_web_applications#Selecting_files_using_drag_and_drop在developer.mozilla.org 上

  2. 使用 JavaScript 拖放文件上传 http://www.thecssninja.com/javascript/drag-and-drop-upload文章指出 api 已更改并链接到文件 Api 已更改 (2010-09) https://www.thecssninja.com/javascript/fileapi

  3. html5-拖放-多个文件上传(2017-11 返回 404) http://www.appelsiini.net/2009/10/html5-drag-and-drop-multiple-file-upload on http://www.appelsiini.net/ http://www.appelsiini.net/(还活着)

但有没有一个可以在所有平台上运行的解决方案:Firefox, Chrome and Safari?

非常感谢!


抱歉,目前没有可用的跨浏览器解决方案。

当前浏览器实现问题

FF、Safari、Chrome、IE(跨浏览器问题)

没有递归文件夹上传——事实上,根本没有文件夹上传。虽然这不是一个阻碍,但如果浏览器也不会发送该文件夹内的所有文件,那么允许用户在文件上传输入框中选择一个文件夹似乎有点愚蠢。

火狐浏览器 3.6.*

该浏览器支持文件拖放,但其实现很可能是有史以来最糟糕的。为了上传用户删除的文件,我们必须将整个文件读入内存,然后通过 Ajax 将其发送到我们的服务器。这对于 10MB 左右的数据滴来说效果很好。如果您对 400MB 的文件尝试相同的操作,那就算了!

火狐 4.*(测试版)

Mozilla 开发人员反应很快——他们意识到了之前实现的问题,并创建了一种全新的方法来实现拖放上传。 FormData 对象是一个新的 JavaScript 对象,它允许 Web 开发人员将文件上传直接插入到 Ajax 请求中,而无需先将文件读入内存。我对此感到非常兴奋,并立即下载了第二个测试版的 Firefox 4。在玩了不到 5 分钟后,我强烈建议您不要尝试。我的系统变得极其不稳定且缓慢,由于缺乏对 Firebug 的支持,开发变得非常痛苦。

铬(最新)

该浏览器是迄今为止实现最好的!简单明了,我唯一的抱怨是您无法通过拖放上传文件夹及其内容。

Safari 4.* 和 5.*

由于 Safari 与 Google Chrome 一样构建在 WebKit 之上,因此我希望它也能正常工作。哇,我是不是看错了!我在 Safari 4 和 Safari 5 中尝试过此操作。将多个文件拖放到窗口中时,Safari 会多次发送第一个文件,而不是发送所有文件。谈论一个主要错误。更有趣的是,如果用户单击放置位置,他们可以使用标准文件选择对话框选择要上传的多个文件 - 这将按预期工作!我等不及 Safari 解决这个问题了。

IE浏览器

老实说,我什至还没有尝试在 Internet Explorer 中进行拖放上传。由于缺乏良好的开发工具和不合格的 JavaScript 引擎,尝试支持 IE 是一件痛苦的事情。由于我无法让所有首选浏览器都能正常运行,因此我无法想象 Internet Explorer 会接近这一水平。

source http://cdblog.centraldesktop.com/2010/08/html5-file-drag-drop-for-online-collaboration.html

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

HTML5 拖放上传 的相关文章

  • django:如何在模板html页面内进行计算?

    您好 我正在使用缩略图插件来获取图像的宽度和高度 现在我想使用从缩略图插件获取的高度来定义 img 标签的填充 例如 img style padding top img height 2 src 但是我在这里遇到错误 django不允许这样
  • Ionic 2:隐藏滚动条并继续滚动

    我只想hide滚动条 在需要滚动的页面中 我正在使用离子2 My 不工作解决方案 scroll content bar overflow hidden 此解决方案隐藏滚动条but使屏幕不可滚动 首先 改变浏览器的自然行为和预期的用户体验是一
  • 如何使用CSS缩放图像以填充div并保持纵横比?

    我想用一个 div 填充img 保持纵横比并根据需要拉伸宽度或高度以适应 div style width 80px height 80px img src div 我怎样才能实现它 如果图像不是二次方的 则必须将其 放大 并根据哪一侧较大而
  • 如何在html中定义条件换行符?

    我希望这根绳子断在 如果需要的话 没有地方可以写了 7 380 Ft 159 Ft term kd jjal like 7 380 000 Ft 159 125 Ft term kd jjal 如何在html中实现这一点 nbsp 产生 错
  • 如何在javascript中获取基本url

    我正在建立一个网站代码点火器 http ellislab com codeigniter 我有各种资源 我用base url http ellislab com codeigniter user guide helpers url help
  • Chrome“请匹配请求的格式”验证消息

    我正在研究 HTML 5 验证和本地化 并设法让一些代码正常工作 使我能够本地化 HTML 5 验证错误消息 见下文 我的问题是 在 Chrome 中 当与模式匹配时 您仍然会弹出英语 或者我猜您 Chrome 设置的任何语言 的弹出窗口
  • 在 Javascript 中访问表格单元格的内容

    我有一个嵌套在 HTML 表格单元格元素内的复选框 如何从 Javascript 访问内部复选框 我见过的所有示例都改变了内部 HTML 本身或视觉属性 这不是我感兴趣的 我尝试过 childNodes 数组 但显然它是空的 如果你不使用
  • 仅在 Safari 中位于 div 外部的文本

    我有这个错误 让一些文本出现在右侧 div 之外的几个像素处 奇怪的是 这种情况只发生在 Safari 中 我以前从未见过它 它只是我使用过的常规 HTML CSS 我在互联网上环顾四周 但找不到完全相同的问题 由于高度固定 只有一些内容在
  • QtWebEngine Quicknano 在嵌入式 Linux 中没有声音

    我已将 QtWebEngine 编译到我的 i MX6 嵌入式设备中 当我尝试使用 Quicknanobrowser 播放 YouTube 视频时 视频会播放 但没有声音 事实上 当我尝试播放音频文件时没有声音hpr dogphilosop
  • 在 Safari 中提交表单后无法对 DOM 进行样式更改

    在 Safari 中提交表单后 我在对 DOM 进行样式更改时遇到问题 有谁知道它是否可能 这是 Safari 预期的浏览器行为吗 我设置了一个非常简单的示例 以便您可以看到实际问题 http jamesmichaelking com st
  • setTimeout 用于加载下拉列表中的项目

    我在用setTimeout克服 中提到的缓慢处理脚本警告 禁用 Internet Explorer 中的长时间运行脚本消息 https stackoverflow com questions 4460263 disabling the lo
  • 如何在同一个

    中设置两种不同的字体大小

    我有一段 HTML 代码 我一直坚持不下去 我怎样才能将这个文本的第一部分的字体大小设置为 20px 以及后面的文本 br 标签字体大小为 15px 或者 如果我做的完全错误 我该如何做而不将它们放在不同的标签中 p Los Santos
  • jQuery数据表设置列设计和成功回调中的值

    我为我的数据表编写了以下代码 它用我的数据库中的内容填充表 如下所示 if datatable null datatable destroy datatable tableProducts DataTable pageLength 50 b
  • 保存下拉列表中的值

    这是我的情况 我有 2 页 一页用于选择值 一页用于编辑与该值关联的数据库相关内容 现在 我对如何将从下拉列表中选择的值保存到 PHP 的变量中一无所知 并且已经进行了相当多的研究 有任何想法吗 HTML
  • 如何在引导程序中制作两个等高的列?

    我有这个代码 HTML div class container fluid div class row div class col md 6 p Line p p Line p p Line p p Line p p Line p p Li
  • Python 模块 BeautifulSoup 提取锚点 href

    我正在使用 BeautifulSoup 模块通过以下方式从 html 选择所有 href def extract links html soup BeautifulSoup html anchors soup findAll a print
  • 将可点击的锚标记转换为 html 文档中的纯文本

    我正在尝试匹配 a 我的内容中的标签 并将其替换为链接文本 后跟打印版本的方括号中的 url 如果只有 href 则以下示例有效 如果 a 包含另一个属性 它匹配太多并且不会返回所需的结果 我怎样才能匹配 URL 和链接文本 就是这样 这是
  • 将 div 附加到另一个 div 的右侧

    我有一个 div 它就像一个容器 里面有 2 个图像 一张图像位于 div 的左侧 另一张图像位于右侧 我的容器是Bootstrap的容器 它们都用 div 包裹 并且div s position is fixed 我的问题是我无法找到要附
  • 检测 html 选择框上的编程更改

    有没有办法让 HTML 选择元素在每次以编程方式更改其选择时调用函数 当使用 JavaScript 修改选择框中的当前选择时 IE 和 FF 都不会触发 onchange 此外 更改选择的 js 函数是框架的一部分 因此我无法更改它以在结束
  • HTML 标签在 Ionic 5 警报文本中不起作用

    我已将以下代码从 Ionic 3 迁移到 Ionic 5 const alert await this alertCtrl create subHeader About b this user name b message Test Mes

随机推荐

  • 在react-native-video中播放youtube视频

    我如何在react native video上播放youtube视频 我不想在react native youtube或webview中播放视频 我检查并使用的另一个选项是 WebView 要使用它 请确保将组件放入带有 Flex 的视图中
  • 编码 UTF8 C# 过程

    我有一个处理 vbscript 并生成输出的应用程序 private static string processVB string command string arguments Process Proc new Process Proc
  • 神经网络的显着图(使用 Keras)

    我有一个在 Keras 中训练的完全连接的多层感知器 我向它提供一个 N 维特征向量 它会预测输入向量的 M 个类别中的一个 训练和预测运行良好 现在我想分析输入特征向量的哪一部分实际上负责特定的类 例如 假设有两个类A and B 和一个
  • 按字母顺序对内容进行排序

    因此 我在 AJAX 调用之后附加以下内容 并且此 AJAX 调用可能会发生多次 并返回多个数据项 我正在尝试使用 Tinysort http plugins jquery com project TinySort http plugins
  • 如何在 Angular 4 中禁用 ngbDatepicker 中的前一个日期?

    我想禁用所有先前 过去的日期ngbDatepicker 我用过ngbDatepicker 我的 HTML 是
  • 如何在 INPUT 标签上不使用 ID 属性的情况下使用 LABEL 标签的 FOR 属性

    下面代码中所示的问题有解决方案吗 首先在浏览器中打开代码 直入主题 无需在了解您要查找的内容之前查看所有代码 h1 Input ID creates a bug h1 p In this example I make a list of c
  • Facebook 应用程序中不允许使用 HTTP 动词 POST 来访问路径“/”

    我正在尝试使用 4 2 1 C SDK 构建简单的 facebook 应用程序 但我有一个错误 The HTTP verb POST used to access path is not allowed Description An unh
  • C++初始化[重复]

    这个问题在这里已经有答案了 可能的重复 具有初始值的类构造 https stackoverflow com questions 7207884 class construction with initial values 当我在看 c 示例
  • WIA 2.0 复式房产

    我正在使用 C 开发一个应用程序以使用 WIA 2 0 库 目前我可以使用大部分功能 例如 ADF 自动文档进纸器 过滤器等等 现在 我需要使用扫描仪 富士通 的双面打印器 我正在尝试将 WIA DPS DOCUMENT HANDLING
  • Visual Studio 2019 测试资源管理器将所有测试置于“未运行测试”下

    我有一个ASP NET 核心 3项目与Visual Studio 专业版 19 4 1 with xUnit 2 4 0 我在那里写了几个测试 我的问题是 Visual Studio 始终在 未运行测试 下显示该项目中的所有测试 相同的测试
  • 如何在java中弯曲图像

    有什么办法可以弯曲BufferedImage在Java中 我认为如果我将图像裁剪成更小的部分并旋转它们 那么我基本上会弯曲图像 但它似乎不起作用 这是我创建的方法 This is a recursive method that will a
  • sqlite递归祖先查询

    我试图弄清楚如何对分层表使用递归查询 我需要获取给定记录的祖先 并且记录应按其在层次结构中的级别顺序排序 也就是说 第一条记录应该是顶级节点 下一条记录应该是子节点 然后是它的子节点 一直到正在查询的记录 考虑一个名为 食物 的表 其中包含
  • CSS vw 和 vh 但相对于父级而不是视口

    我正在尝试创建一个固定纵横比的框 调整大小以不溢出其父级 经典填充底部技巧 https stackoverflow com questions 1495407 maintain the aspect ratio of a div with
  • 显示字符串中不可打印的字符

    是否可以用十六进制值可视化 python 字符串中的不可打印字符 例如如果我有一个内部带有换行符的字符串 我想将其替换为 x0a 我知道有repr 这会给我 n 但我正在寻找十六进制版本 我不知道任何内置方法 但使用理解很容易做到 impo
  • 使用 AngularJS 将表单控件设置为焦点不变

    在我的表单中 我想在用户关注表单控件时将其设置为不受影响 以便隐藏在触摸字段且字段无效时显示的验证消息 我怎样才能做到这一点 我曾尝试编写指令但无法使其发挥作用 我可以在控制台中看到指令中的值从 true 更改为 false 但表单控件没有
  • 在 Xcode 6 beta 中使用尺寸类

    在 Xcode 6 Beta 1 中使用 Swift 从头开始 构建一个新项目 并查看 Storyboard 的文件检查器 有Use Size Classes below Use Auto Layout 这是这个的截图 1 什么是Use S
  • 某些 SMS 消息如何传输发件人姓名?

    我注意到我从公司收到的某些短信带有 发件人姓名 例如 就在今天 我收到了一条来自我以前从未使用过的号码 不是我的联系人 的短信 但发件人姓名显示为 Adobe 我也从其他公司得到这个 例如 Facebook Google 和银行 它与电子邮
  • 使用 jQuery Mobile 动态更改翻转切换的值

    我正在使用 jQuery Mobile 并将一些设置保存在 cookie 中 当设置页面重新加载时 我读取 cookie 以设置所有值 我在设置时遇到问题翻转拨动开关 http jquerymobile com demos 1 0a2 do
  • 使用GDB运行时致命错误消失

    我有一个程序 它在测试用例中产生致命错误 我可以通过读取致命错误的日志和堆栈跟踪来定位问题 原来是对空指针进行了读操作 但是当我尝试将 GDB 附加到它并在可疑代码周围设置断点时 无法观察到空指针 程序运行顺利 没有任何错误 这是一个单进程
  • HTML5 拖放上传

    有谁知道如何使用HTML5实现桌面拖放文件上传吗 我找到了以下参考资料 使用拖放选择文件 2017 08 https developer mozilla org en Using files from web applications Se