`
songzhan
  • 浏览: 250436 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

如何不依靠JS或Flash来使用HTML5传输多文件(转载)

阅读更多

虽然现在已经可以通过表单的方式用浏览器向服务器传输文件,尤其是<input type=file>这种表单控件,然而这东西一次最多只能传递一个文件。如果用户需要上传整个相册或者多张图片,那么技术人员只好从其他途径想办法了,比如Flash或者JS。但是现在通过HTML5提供的新标签,我们就可以完全不需要那些额外的东西了。HTML5为上传文件提供了几个新标签,比如multiple就是为了支持多文件上传专用的。multiple是一个bool标签来表示是否允许用户上传多个文件。比如<input type="file" multiple/>在最新版的Safari, Chrome, FireFox, IE以及Opera都是支持的。至于控件的外观渲染那就是各种浏览器自己的事情了。为了能让用户一次性选择多个文件,用户将可用Shift或者Ctrl或者CMD按键逐个点击要添加的文件。

如何使用
从技术角度看,你只需要在input控件中标注multiple标签就够了
以下就是演示代码:
01 <!DOCTYPE html>
02  
03 <html>
04  
05 <head>
06  
07 <title>
08  
09 Solution 4-5: Sending multiple files
10  
11 </title>
12  
13 </head>
14  
15 <body>
16  
17 <form id="myForm">
18  
19 <fieldset>
20  
21 <legend>Solution 4-5: Sending multiple files</legend>
22  
23 <label>Upload one or more files:</label>
24  
25 <input type="file" name="multipleFileUpload" multiple />
26  
27  
28  
29  
30 </fieldset>
31  
32 </form>
33  
34 </body>
35  
36 </html>

 


重要心得
用户选择的多个文件传递到服务端后将会被服务端的编程语言去处理的。有些编程语言,比如PHP需要你为name标签的字符添加方括号来支持传输多个文件。
1 <input name="filesUploaded[]" type="file" multiple />

 


这样,PHP将构造一个数据类型的数组,来容纳一个个上传到服务器的文件。相反如果你在HTML标签中不适用方括号的话,PHP将仅仅只接受到最后一个文件。

分享到:
评论

相关推荐

    html实现js文件md5

    在本示例中,"html实现js文件md5"指的是使用HTML页面结合JavaScript库来计算文件的MD5哈希值。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,能够将任意长度的数据转化为固定长度的摘要,通常用于...

    flash html5实现浏览器兼容的文件上传

    - 并行上传:允许多个文件或文件块同时上传,提高整体上传速度。 综上所述,实现浏览器兼容的文件上传,需要结合Flash和HTML5的技术特性,通过检测浏览器的支持情况,采取适当的策略。同时,注意安全性和性能优化,...

    PHPCMS V9 修改flash上传为H5上传方案 phpcms上传文件statics下js

    5. **swfobject.js**:这是一个用于检测和嵌入Flash的JavaScript库,由于我们要移除Flash,这个文件在H5上传方案中不再需要。 6. **formvalidator.js**:这可能是用于表单验证的脚本,确保用户上传的文件符合预设的...

    flash+html5浏览器兼容文件上传方案

    "Flash+HTML5浏览器兼容文件上传方案"是针对不同浏览器的兼容性问题提出的一种解决方案,它结合了Adobe Flash技术和HTML5的新特性,以确保在各种浏览器上提供一致的用户体验。 Flash技术在过去的Web开发中扮演了...

    videojs-flash-2.2.0.zip

    然而,考虑到某些浏览器或设备可能不支持HTML5视频,Video.js通过videojs-flash插件提供了对Flash技术的支持,确保在这些环境下也能正常播放视频。本文将详细介绍videojs-flash 2.2.0这个版本的相关知识点。 1. **...

    javascript md5加密 js文件

    在给定的“javascript md5加密 js文件”中,主要涉及的核心是`md5.js`这个JavaScript库,它提供了一个方便的方法来实现MD5哈希加密。以下是对这个库的一些详细解释: 1. **MD5.js库的引入**: 在HTML文件中,可以...

    JavaScript读二进制文件并用ajax传输二进制流的方法

    在JavaScript中,处理二进制文件并使用Ajax传输二进制流是一项常见的任务,尤其是在进行文件上传或数据传输时。由于浏览器之间的差异,实现这一功能需要考虑不同的API和兼容性问题。以下是一份详细的指南,涵盖了...

    javascript+HTML5 多文件上传(插件)多进度条显示

    总的来说,"javascript+HTML5 多文件上传(插件)多进度条显示"项目展示了如何利用HTML5的新特性实现实时多文件上传和进度监控。通过这个项目,开发者可以学习到如何构建一个功能完善的文件上传系统,提升用户在Web...

    HTML5+JS+FLASH在线MP3文件录音

    HTML5、JavaScript(JS)和Flash是三种在Web开发中用于实现在线音频处理的重要技术,尤其是在创建在线MP3文件录音功能时。以下是对这些技术及其在实现这一功能中的应用的详细解释: **HTML5**: HTML5是超文本标记...

    js调用flash文件的视频

    根据提供的文件信息,本文将详细解析如何通过JavaScript(简称JS)来调用并优化Flash文件在网页中的展示方式。此方法特别适用于希望去除Flash播放器默认边框的应用场景。 ### JS调用Flash文件的关键技术点 #### 1....

    webcamjs兼容多浏览器调用摄像头拍照上传,兼容H5和flash

    WebcamJS内部处理了Flash与JavaScript之间的通信,通过Flash的External Interface或ActionScript来实现摄像头的访问和图片的捕获。 使用WebcamJS时,开发者需要在页面上设置一个div元素作为摄像头预览的容器,然后...

    video-js视频播放器 支持flash播放

    在实际项目中,使用video-js时,开发者可以通过配置文件或JavaScript API指定是否启用Flash回退。例如,可以设置`techOrder`选项来指定尝试的播放技术顺序,将Flash放在HTML5之后作为备用。此外,通过自定义事件和回...

    前端项目-videojs-flash.zip

    然而,由于某些老版本的浏览器或特定设备可能不支持HTML5视频,因此Video.js提供了对Flash的备用支持,确保在HTML5不被支持的情况下也能正常播放视频。 在“videojs-flash-master”这个压缩包中,你将找到Video.js ...

    flash+js+配置文件3d图片切换

    标题中的“flash+js+配置文件3d图片切换”指的是一个使用Flash技术和JavaScript结合,并通过配置文件实现3D效果的图片切换程序。这样的程序通常用于网页设计,为用户提供动态、立体的视觉体验,使得图片展示更加生动...

    php html5 flash 上传

    为了实现无刷新上传和进度条,HTML5和Flash可以这样结合使用:HTML5负责获取文件并初始化上传,Flash作为一个插件在后台处理实际的文件传输,因为它可以绕过某些浏览器的同源策略限制,支持大文件分块上传,并且能够...

    Pure JS (3.2): 上传下载 (HTML5 与 Flash 上传实现,配置项说明)

    标题 "Pure JS (3.2): 上传下载" 涉及到的是使用纯JavaScript技术来处理文件的上传和下载功能,这是Web开发中的重要一环,特别是随着HTML5新特性的引入,使得在浏览器端处理文件变得更加方便。这篇博文可能详细介绍...

    html5 + ASP +Ajax 前端免刷新多文件批量上传 免组件

    标题中的“html5 + ASP +Ajax 前端免刷新多文件批量上传 免组件”表明这个技术方案是关于在Web应用中实现前端文件的批量上传,而且在整个过程中页面无需刷新,利用HTML5、ASP和Ajax技术来实现。这个过程通常涉及到几...

    40个常用flash透明文件

    因此,这些文件可能不适合依赖最新技术的现代网站,除非使用了一些转换工具将SWF转换为HTML5或其他现代格式。 2. 尺寸调整:每个SWF文件都有其固定的尺寸,可能需要根据网页设计进行调整。这可以通过Flash编辑器...

    uploadify_html5、flash

    Uploadify是一款广泛使用的JavaScript文件上传插件,它支持多种浏览器和平台,包括HTML5和Flash技术,以适应不同用户的需求。在本插件中,HTML5版本利用了现代浏览器的特性,提供了更快、更稳定、功能更丰富的文件...

    video.js在线自适应视频播放器.rar_html5 flash_html5 视频_videojs 自适应_在线 自适应 视

    5. `video-js.swf` 是Flash回退播放器的SWF文件,当浏览器不支持HTML5时使用。 6. `demo.captions.vtt` 是一个WebVTT格式的字幕文件,展示了如何添加和显示视频字幕。 7. `font` 文件夹可能包含video.js播放器图标...

Global site tag (gtag.js) - Google Analytics