[FILE API]利用Javascript上传图片
1.HTML结构
<label for="file-input">File:</label>
<input type="file" id="file-input" />
/*<img src="" alt="" accept="image/*" style="max-width: 250px">*/
<img src="" alt="" style="max-width: 250px">
input的accept属性需要ie10的支持所以后面用js来判断。
2.上传API
$(function() {
  var $fileInput = $('input[type=file]');
  var $imageArea = $('img');
  var fileInfo;
  $fileInput.on('change', getFileInfo);
  function getFileInfo(e) {
    var file = e.target.files[0];
    var reader = new FileReader();
    reader.onload = (function(imageFile) {
      return function(e) {
         fileInfo = e.target.result;
         $imageArea.attr('src',fileInfo);
      }
    })(file);
    reader.readAsDataURL(file);
  }
});
这样就可以实现功能了
3.判断文件类型
(/\.(jpg|jpeg|png)/i).test(file.name)
完整代码为
$(function() {
var $fileInput = $('input[type=file]');
var $imageArea = $('img');
var fileInfo;
  $fileInput.on('change', getFileInfo);
  function getFileInfo(e) {
    var file = e.target.files[0];
    if (!(/\.(jpg|jpeg|png)/i).test(file.name)) {
    	alert("只支持jpg/jpeg/png类型");
	}else{
	    var reader = new FileReader();
	    reader.onload = function(e) {
	         fileInfo = e.target.result;
	         $imageArea.attr('src',fileInfo);
	    }
	    reader.readAsDataURL(file);
     }
  }
});
4.参考资料
[FILE API]利用Javascript上传图片的更多相关文章
- 通过Canvas及File API缩放并上传图片完整示例
		
<!DOCTYPE html> <html> <head> <title>通过Canvas及File API缩放并上传图片</title> ...
 - 通过Canvas及File API缩放并上传图片
		
原文地址:Resize an Image Using Canvas, Drag and Drop and the File API 示例地址:Canvas Resize Demo 原文作者:Dr. T ...
 - 通过Canvas及File API缩放并上传图片完整演示样例
		
创建一个只管的用户界面,并同意你控制图片的大小.上传到server端的数据,并不须要处理enctype为 multi-part/form-data 的情况.只一个简单的POST表单处理程序就能够了. ...
 - 通过 File API 使用 JavaScript 读取文件
		
原文地址:http://www.html5rocks.com/zh/tutorials/file/dndfiles/ 简介 HTML5 终于为我们提供了一种通过 File API 规范与本地文件交互的 ...
 - HTML5 File API — 让前端操作文件变的可能
		
前言 在 HTML5 File API 出现之前,前端对于文件的操作是非常有局限性的,大多需要配合后端实现.出于安全角度考虑,从本地上传文件时,代码不可能获取文件在用户本地的地址,所以纯前端不可能完成 ...
 - 使用 JavaScript File API 实现文件上传
		
概述 以往对于基于浏览器的应用而言,访问本地文件都是一件头疼的事情.虽然伴随着 Web 2.0 应用技术的不断发展,JavaScript 正在扮演越来越重要的角色,但是出于安全性的考虑,JavaScr ...
 - 【小月博客】用HTML5的File API做上传图片预览功能
		
前段时间做了一个项目,涉及到上传本地图片以及预览的功能,正好之前了解过 html5(点击查看更多关于web前端的有关资源) 可以上传本地图片,然后再网上看了一些demo结合自己的需求,终于搞定了.(P ...
 - 利用百度API(JavaScript 版)实现在地图上绘制任一多边形,并判断给定经纬度是否在多边形范围内。以及两点间的测距功能
		
权声明:本文为博主原创文章,未经博主允许不得转载. 利用百度API(JavaScript 版)实现在地图上绘制任一多边形,并判断给定经纬度是否在多边形范围内.以及两点间的测距功能. 绘制多边形(蓝色) ...
 - html5 文件系统File API
		
前言: 在做浏览器上传图片的时候,一般采用form表单上传,这种上传无法预览图片,无法查看图片大小,无法知道图片的类型等等!那么在html5 File API提供了这些表单无法实现的功能,而且还支持拖 ...
 
随机推荐
- java  ArrayList的几种方法使用
			
package java06; import java.util.ArrayList; /* ArrayList的常用的几个方法: public boolean add(E e) : 向集合汇总添加元 ...
 - Java两个引用指向同一个数组
 - python request(HttpRequest对象)请求的属性、方法笔记
			
1.属性 path:表示提交请求页面完整地址的字符串,不包括域名,如"/music/bands/the_beatles/". method:表示提交请求使用的HTTP方法.(GET ...
 - Vue.js----更换头像不实时更新问题
			
原因 导致问题的原因是缓存造成的,因为你图片变了但是读取头像的地址还会没有变化的 解决思路 所以解决的思路就是上传之后让图片地址改变,那么我们就可以在上传的时候给地址加上一个时间戳那么久可一达到目的了 ...
 - Halo(八)
			
安全模块 用户描述类 /** * 基本 Entity */ @Data @MappedSuperclass public class BaseEntity { /** Create time */ @ ...
 - php strnatcmp()函数 语法
			
php strnatcmp()函数 语法 作用:自然顺序法比较字符串直线往复电机 语法:strnatcmp(string1,string2) 参数: 参数 描述 string1 必须,规定要比较的第一 ...
 - 4412 Linux设备总线
			
总线_设备_驱动注册流程详解 注册流程图 • 设备一般都需要先注册,才能注册驱动– 现在越来越多的热拔插设备,反过来了.先注册驱动,设备来了再注册 设备 • 本节使用的命令– 查看总线的命令#ls / ...
 - Delphi  Base64编码/解码
			
Uses CnBase64: CnBase64.Base64Encode(Edit1.Text, Psw64);
 - 本地项目关联到远程git仓库
			
本地项目关联到远程git仓库 场景是这样的:在gitee-code上新建一个项目,gitee会帮你把项目初始化,初始化之后会根据你的选择生成默认的说明文件和gitignore文件.这个时候你就可以复制 ...
 - 一双木棋(chess)
			
一双木棋(chess) 题目描述 菲菲和牛牛在一块 nn 行 mm 列的棋盘上下棋,菲菲执黑棋先手,牛牛执白棋后手. 棋局开始时,棋盘上没有任何棋子,两人轮流在格子上落子,直到填满棋盘时结束.落子的规 ...