html多文件上传,可支持预览
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>表单提交</title>
- <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
- </head>
- <body>
- <!--文件上传-->
- <form id="uploadForm" enctype="multipart/form-data">
- <div id="fileId" style='display: none'><!--//style='display: none'-->
- </div>
- <div id="img-con" class="panel panel-default imgdiv">
- </div>
- <p id="em">未上传文件</p>
- <input type="button" value="点击事件" name="点击事件" onclick="inputClieck()"><br>
- <input type="submit">
- </form>
- </body>
- <script>
- var inputArray = [];
- function inputClieck() {
- var newInput = document.createElement("input");
- newInput.type = 'file';
- newInput.name = "files";
- var idid = new Date().getTime();
- newInput.id = idid;
- $("#fileId").append(newInput);
- inputArray.push(idid);
- $("#" + idid).click();
- $("#" + idid).change(function (e) {
- console.log('change事件', e);
- console.log(this)
- var path= getImgPath(this.files[0]);
- console.log("--------"+path);
- var arr = path.split("/");
- var strPath='--------:null/'+arr[arr.length-1];
- console.log(strPath)
- var a=createImg(path,idid);
- $("#em").append(a)
- });
- var newline = document.createElement("br");//创建一个BR标签是为能够换行!
- $("#fileId").append(newline);
- }
- //动态显示上传图片
- function uploadImg(path) {
- var imgDiv = $("#img-con");
- var $img = $("<img/>");
- $img.attr("src", path);
- imgDiv.append($img);
- }
- //获取要上传单张图片的本地路径
- function getImgPath(file) {
- var url = null;
- if(window.createObjectURL != undefined) { // basic
- url = window.createObjectURL(file);
- } else if(window.URL != undefined) { // mozilla(firefox)
- url = window.URL.createObjectURL(file);
- } else if(window.webkitURL != undefined) { // webkit or chrome
- url = window.webkitURL.createObjectURL(file);
- }
- return url;
- }
- function createImg(src,idid) {
- var box = $("<div class='img-box uploadfile'>");
- var newImg = document.createElement("img");
- newImg.src=src;
- newImg.id="img"+idid;
- newImg.height=100;
- newImg.width=100;
- newImg.onclick='showImagePopup(\"" + src + "\")';
- //box.append("<img src='" + src + "' height='100px' width='100px' onclick='showImagePopup(\"" + src + "\")'>");
- box.append(newImg);
- return box;
- }
- function showImagePopup(src) {
- if (getClass(src) === "String") {
- var popup = $("<img></img");
- popup.addClass("image-popup").attr("src", src);
- var shade = $("<div></div>").addClass("shade");
- $(document.body).append(shade.append(popup));
- shade.click(function () {
- $(this).remove();
- });
- popup.fadeIn(200);
- // popup.click(function() {
- // window.event ? window.event.cancelBubble = true :
- // window.event.stopPropagation();
- // });
- }
- }
- </script>
- </html>
html多文件上传,可支持预览的更多相关文章
- dwz+jquery+fileupload+springmvc实现文件上传 及图片预览
1 前台jsp:文件的上传利用了iframe实现局部刷新功能.使用了apache的fileupload组件,用到的jar: commons-fileupload.jar,commons-io.jarD ...
- php文件上传及头像预览
php文件上传原理是通过form表单的enctype="multipart/form-data"属性将文件临时放到wamp文件夹中的tmp目录下,再通过后台php 程序将文件保存在 ...
- HTML5文件上传前本地预览
HTML5之FileReader的使用 HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型 ...
- javascript实现文件上传之前的预览功能
1.首先要给上传文件表单控件和图片控件设置name属性 <div class="form-group"> <label fo ...
- jsp+springmvc实现文件上传、图片上传和及时预览图片
1.多文件上传:http://blog.csdn.net/a1314517love/article/details/24183273 2.单文件上传的简单示例:http://blog.csdn.net ...
- Ajax上传图片以及上传之前先预览
手头上有几个小项目用到了easyUI,一开始决定使用easyUI就注定了项目整体上前后端分离,基本上所有的请求都采用Ajax来完成.在文件上传的时候用到了Ajax上传文件,以及图片在上传之前的预览效果 ...
- java多图片上传--前端实现预览--图片压缩 、图片缩放,区域裁剪,水印,旋转,保持比例。
java多图片上传--前端实现预览 前端代码: https://pan.baidu.com/s/1cqKbmjBSXOhFX4HR1XGkyQ 解压后: java后台: <!--文件上传--&g ...
- web 图片上传实现本地预览
在说上传之前先说说如何替换or美化浏览器自带的简陋上传按钮(自定义自己的上传按钮 如:img): 1.将自定义上传按钮上方添加 input file 框,实现input实现透明处理. 2.对自定义上传 ...
- [.ashx檔?泛型处理例程?]基础入门#2....FileUpload上传前,预览图片(两种作法--ashx与JavaScript)
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/20/ashx_beginner_02_fileupload_picture_p ...
- 聊一聊jquery文件上传(支持多文件上传)
谈到文件上传,现在一般都用现成的组件可以使用.PC端的可以使用uploadify.针对微网站H5也有uploadifive.但是这组件并不能满足各种场景的需求,例如:预览 切图 放大缩小,取消之类的. ...
随机推荐
- Java知多少(82)标签、按钮和按钮事件简介
标签和按钮也许是图形界面中最常见的两种组件,按钮又总是与激发动作事件有关. 标签 标签(JLabel)是最简单的Swing组件.标签对象的作用是对位于其后的界面组件作说明.可以设置标签的属性,即前景色 ...
- Qt动态库静态库的创建、使用、多级库依赖、动态库改成静态库等详细说明
本文描述的是windows系统下,通过qtcreator在pro文件中添加动态库与静态库的方法: 1.添加动态库(直接添加动态库文件.dll,非子项目) 通过qtcreator创建动态库的方法就不在此 ...
- laravel数据库配置
1.说明,查看laravel数据库配置 项目名/config/database.php 'default' => env('DB_CONNECTION', 'mysql') 2.数据开发 ...
- Linux监控平台介绍 zabbix监控介绍 安装zabbix 忘记Admin密码如何做
- yum 快速安装centos7 mysql5.7
CentOS7 yum方式安装MySQL5.7 在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉Maria ...
- 08策略模式Strategy
一.什么是策略模式 Strategy模式也叫策略模式是行为模式之一, 它对一系列的算法加以封装,为所有算法定义一 个抽象的算法接口,并通过继承该抽象算法接口 对所有的算法加以封装和实现,具体的算法选择 ...
- Docker - Docker中搭建MySQL主从
1.pull完centos7纯净版的镜像后,创建容器,然后将宿主机上下载的MySQL文件 (MySQL下载地址:http://mysql.mirror.kangaroot.net/Downloads/ ...
- WebKit最新特性srcset简介(转)
WebKit内核最新新增了对srcset属性的支持(参考:https://www.webkit.org/blog/2910/improved-support-for-high-resolution-d ...
- Android 监听键盘弹出和收起.
entends:http://stackoverflow.com/questions/36837066/how-to-validate-virtual-keyboard-visibility 监听键盘 ...
- zynq里面的AXI总线(2017-1-11)
在ZYNQ中有支持三种AXI总线,拥有三种AXI接口,当然用的都是AXI协议.其中三种AXI总线分别为: AXI4:(For high-performance memory-mapped requir ...