FileReader实现图片预览,并上传(js代码)
var rFilter = /^(image\/bmp|image\/gif|image\/jpeg|image\/png|image\/tiff)$/i; //控制格式
var iMaxFilesize = 2097152; //控制大小2M
function preview(file) {
var reader = new FileReader();
if (!rFilter.test(file.type)) {
alert("文件格式必须为图片");
return;
}
if (file.size > iMaxFilesize) {
alert("图片大小不能超过2M");
return;
}
reader.onload = function(e) {
//图片的base64格式,可以直接当成img的src属性
var $img = $('<img>').attr("src", e.target.result);
$(".preview").append($img);
//使用FormData的最大优点就是我们可以异步上传一个二进制文件,在此用来上传图片
var formdata = new FormData();//创建一个formdata对象
//通过append(key, value)来添加数据,如果指定的key不存在则会新增一条数据,如果key存在,则添加到数据的末尾具体可看https://segmentfault.com/a/1190000006716454
formdata.append("image",file.files[0]);
$.ajax({
url: "/s/api?cmd=Image.add&tip=video_banner",
type:"POST",
cache:false,
data:formdata,
processData:false, // 告诉jQuery不要去处理发送的数据
contentType:false, // 告诉jQuery不要去设置Content-Type请求头
success:function(data){
sign = data.res.sign;
}
});
};
reader.readAsDataURL(file);
}
$('[type=file]').change(function(e) {
var file = e.target.files[0];
preview(file);
});
FileReader实现图片预览,并上传(js代码)的更多相关文章
- 基于“formData批量上传的多种实现” 的多图片预览、上传的多种实现
前言 图片上传是web项目常见的需求,我基于之前的博客的代码(请戳:formData批量上传的多种实现)里的第三种方法实现多图片的预览.上传,并且支持三种方式添加图片到上传列表:选择图片.复制粘贴图片 ...
- 原生js实现图片预览并上传
最近主导的PC客户端网站重构工程告一段落,下一阶段开始给公司APP开发H5页面,技术栈是react.最近碰到一个需求:需要在H5页面上添加身份证照片,预览并上传.因为要兼容安卓4.4以下版本的手机,所 ...
- H5-FileReader实现图片预览&Ajax上传文件
图片预览 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- 前端图片预览,上传前预览,兼容IE7、8、9、10、11,Firefox,Chrome(学习到的知识)
文章地址:http://www.cnblogs.com/rubylouvre/p/4597344.html 一.window.URL 在Chrome中,window.URL和window.webkit ...
- vue组件利用formdata图片预览以及上传《转载》
转载修改 在项目中直接新建一个单文件页,复制一下代码即可 upload组件: <template> <div class="vue-uploader" ...
- vue组件利用formdata图片预览以及上传
转载修改 在项目中直接新建一个单文件页,复制一下代码即可 upload组件: <template> <div class="vue-uploader" ...
- jquery+html5+canvas实现图片 预览 压缩 上传
javascirpt (function($){ $.fn.extend({ aiiUpload:function(obj) { if(typeof obj !="object") ...
- 用js实现预览待上传的本地图片
js实现预览待上传的本地图片,代码如下: <form name="form5" id="form5" method="post" ac ...
- 使用html5 FileReader获取图片,并异步上传到服务器(不使用iframe)
使用html5 FileReader获取图片,并异步上传到服务器(不使用iframe) 原理: 1.使用FileReader 读取图片的base64编码 2.使用ajax,把图片的base64编码 ...
- 使用html5 FileReader获取图片,并异步上传到server(不使用iframe)
使用html5 FileReader获取图片,并异步上传到server(不使用iframe) 原理: 1.使用FileReader 读取图片的base64编码 2.使用ajax.把图片的base64编 ...
随机推荐
- Rocket MQ 2 - Namesrv
通过上文中使用可以看到,主要逻辑还是在NamesrvController中包含KVConfigManager负责配置相关的读写,RouteInfoManager负责路由信息的管理; 启动定时任务定时打 ...
- php 自制简单路由类 望大神指点
class route{ /** @var null 模块 */ private static $module = null; /** @var null 控制器 */ private static ...
- java 安装教程
https://www.cnblogs.com/xuyangblog/p/5455381.html
- Java框架spring 学习笔记(八):注入对象类型属性
使用set方法注入对象属性 编写UserDao.java文件 package com.example.spring; public class UserDao { public void print( ...
- ucos中的中断管理
一.中断的概念 中断是一种硬件机制,用于处理异步事件.中断的实时性比轮询要好,通过中断,微控制器可以在异常发生的时候立刻进行处理,而不需要不断轮询事件是否发生. CM3支持中断嵌套,使得高优先级异常可 ...
- js 中格式化显示时间
function getMyDateTime(str){ var oDate = new Date(str), oYear = oDate.getFullYear(), oMonth = oDate. ...
- python 基础 ----- 变量
------ python注释 注释的作用:代码提示,运行时忽略不必要的代码 注释的三种方式: 1.“#” 单行注释 2.多行注释 三个单引号 和三个双引号都可以 注释的快捷键 Ctrl + ...
- django xadmin多对多字段过滤(含filter的反向查询)
要实现的功能: 继昨天实现拓展User模型使其得到其上级用户,今天要实现某些模型与用户多对多字段过滤功能. 功能描述:以用户指派功能为例,当前用户将文件指派给多个下级,修改前 程序会将所有用户都显示出 ...
- Odoo 堆积木似的软件构建
七雄争霸秦国一统天下,统一货币度量衡,从此天下统一... 假设在未来的某天,有一款开源的系统平台能将国内的企业管理软件市场进行统一,规范市场,标准开发,所有系统的集成创建通过市场开放的应用独立安装搭建 ...
- rancher的微服务运维
1.安装rancher: rancher官网:https://rancher.com rancher中文官网:https://www.cnrancher.com rancher 2.0 文档:http ...