一、上传多张图片并且预览

HTML:

<div class="container">
<label>请选择一个图像文件:</label>
<input type="file" id="file_input" multiple/>
</div>
<div id="body">

</div>

js:

window.onload = function() {
var input = document.getElementById("file_input");
var result, div;

if(typeof FileReader === 'undefined') {
result.innerHTML = "抱歉,你的浏览器不支持 FileReader";
//setAttribute() 方法添加指定的属性,并为其赋指定的值。(js)
input.setAttribute('disabled', 'disabled');
} else {
//addEventListener 用于指定元素添加事件(js)
input.addEventListener('change', readFile, false);
}

function readFile() {
for(var i = 0; i < this.files.length; i++) {
if(!input['value'].match(/.jpg|.gif|.png|.bmp/i)) {   //判断上传文件格式
return alert("上传的图片格式不正确,请重新选择")          
}
var reader = new FileReader();
reader.readAsDataURL(this.files[i]);
reader.onload = function(e) {
result = '<div id="result"><img src="' + this.result + '" alt=""/></div>';
div = document.createElement('div');
div.innerHTML = result;
document.getElementById('body').appendChild(div);   //插入dom树 <br>          }
}
}
}
}

二、多文件上传  并且将文件存成数组  分别赋值id name

function xhrUploadMultiDocuments(){

var ufiles = UploadFile.files;
console.log(ufiles)
if(ufiles.length==0){
alert("请至少选择一个文件!");
return false;
}

var str = "";
var form_Ele = document.getElementById("formFiles");
var form_Data = new FormData(form_Ele);
for(i=0; i < ufiles.length; i++){
if(i==0){
form_Data.append("UploadFile", ufiles[i]);

}else{
form_Data.append("file" + i, ufiles[i]);

}
//获取上传的名字
var temp = ufiles[i].name;
str += "<div>" + temp + "</div>";
console.log(str)

}
$(".FileArea").append(str);

var xhr = new XMLHttpRequest();
xhr.open("POST", "/iPlatform/uploadFile");

xhr.onload = function(event) {
};

xhr.send(form_Data);
};
</script>

多文件上传 input 的multiple 属性的更多相关文章

  1. 改变文件上传input file类型的外观

    当我们使用文件上传功能时,<input type="file">,但是外观有点不符合口味,如何解决这个问题? <input type="file&quo ...

  2. 文件上传input type="file"样式美化

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  3. node中间层实现文件上传

    一般情况下,前端的文件上传一般都是通过form表单的(<input type="file" />)来完成文件的上传,如果使用node中间层完成跨域,文件的上传就需要在n ...

  4. html 文件上传框 input标签

    文件上传框 有时候,需要用户上传自己的文件,文件上传框看上去和其它 文本域差不多,只是它还包含了一个浏览按钮.访问者可以通 过输入需要上传的文件的路径或者点击浏览按钮选择需要上传 的文件. 代码格式: ...

  5. Query插件之ajaxFileUpload使用方法——input.change()事件的时候实现文件上传

    点击下载 这是HTML <input id="uploadedfile" name="uploadedfile" type="file" ...

  6. input实现文件上传

    input实现文件上传 input + ajax 实现文件上传,包括文件大小及类型的判断 一.html <input type="file" id="file&qu ...

  7. 关于文件上传的ajax交互

    首先我们来了解一下上传文件 <input type="file"> input的file常用上传类型 后缀名 MIME名称 *.3gpp audio/3gpp, vid ...

  8. flask 文件上传(单文件上传、多文件上传)

    文件上传 在HTML中,渲染一个文件上传字段只需要将<input>标签的type属性设为file,即<input type=”file”>. 这会在浏览器中渲染成一个文件上传字 ...

  9. HTML文件上传与下载

    文件下载 传统的文件下载有两种方法: 使用<a/>标签,href属性直接连接到服务器的文件路径 window.location.href="url" 这两种方法效果一样 ...

随机推荐

  1. vue2.0+node.js+mongodb全栈打造商城

    Github地址:https://github.com/ccyinghua/vue-node-mongodb-project 一.构建项目所用: vue init webpack vue-node-m ...

  2. SpringBoot非官方教程 | 第十篇: 用spring Restdocs创建API文档

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot10-springrestdocs/ 本文出自方志 ...

  3. c#常用数据库封装再次升级

    c#封装的几类数据库操作: 1.sqilte 2.berkeleydb 3.一般数据库 4.redis 包含其他项目: 1.序列化 2.通信 3.自定义数据库连接池 再次升级内容: 1.新增redis ...

  4. [POI2008]MAF-Mafia(图论,贪心)

    题目描述 Mob feud rages in Equatorial Byteotia. The mob bosses have come to the country's capital, Byteb ...

  5. 背景qwq

  6. CentOS7 64位下 MySQL5.7的安装与配置(YUM)

    趁着11.11的时候在阿里云上弄了一云服务ECS(作为自己的节日礼物 > _ <) ,系统为CentOS的,打算弄一个人博客之类的,这些天正在备案当中(不知得多久). 忙里偷闲,在中午休息 ...

  7. ubuntu多版本php切换

    最近想要学习一下swoole,虽然机子上装的是php7.0,但是考虑到一些有关swoole的轮子要依赖更高版本(例如swooletw),所以就在机子上升级了php7.2,下面是在网上搜索或者自己折腾出 ...

  8. css实现下拉菜单功能(多中实现方式即原理)

    引导思路: 1.需要用到的元素:position hover (z-index)  或(overflow)或(display)等等. 关键点就是div的溢出部分的处理. 2.实现过程: 2.1:就是要 ...

  9. js中split()和join()的用法

    Split()方法:把一个字符串分割成字符串数组 如上所示:把字符串a按空格分隔,得3个字符串数组. 在如: var  a=”hao are you”  a.split(“”);  得到[h,a,o, ...

  10. U盘被分区后恢复方法

    一:运行cmd 二:输入diskpart,按enter. 三:输入list disk,按enter. 四:选择优U盘,输入select disk X(X代表磁盘后面的数字0.1,可磁盘的大小来判断数字 ...