JavaScript实现图片上传并预览并提交ajax


Posted in Javascript onSeptember 30, 2019

本文实例为大家分享了JavaScript实现图片上传并预览并提交ajax的具体代码,供大家参考,具体内容如下

图片上传并预览

JavaScript实现图片上传并预览并提交ajax

HTML

<div class="file-box">
 <img id="preview" />
 <input type="text" id="imgfield" class="txt" placeholder="预览">
 <input type="file" name="file" id = "input_file" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg" "imgPreview(this)" > 
</div>

css

.file-box {
 position: relative;
 display: inline-block;
}
.file-box img {
 width: 50px;
 height: 50px;
 border-radius: 50%;
 position: absolute;
 top: -30px;
 left: 0;
 display: inline-block;
 border: none;
}
.file-box .txt,.file-box .file {
 width: 70px;
 height: 36px;
 position: absolute;
 top: -20px;
 left: 100px;
 text-align: center;
}

JS

function imgPreview(fileDom) {
 //判断是否支持FileReader
 if(window.FileReader) {
 var reader = new FileReader();
 } else {
 alert("您的设备不支持图片预览功能,如需该功能请升级您的设备!");
 }
 //获取文件
 var file = fileDom.files[0];
 var imageType = /^image\//;
 //是否是图片
 if(!imageType.test(file.type)) {
 alert("请选择图片!");
 return;
 }
 //读取完成
 reader.onload = function(e) {
 //获取图片dom
 var img = document.getElementById("preview");
 //图片路径设置为读取的图片
 img.src = e.target.result;
 };
 reader.readAsDataURL(file);
}

上传图片提交ajax

如果想把图片信息通过ajax传给后端,则需要通过new FormData() 上传图片信息,然后使用 append() 方法向该对象里添加字段,具体代码如下:

(注:以下代码在图片预览成功后执行,也就是在reader.readAsDataURL(file); 后)

var formData = new FormData(); 
formData.append('file', $('#input_file')[0].files[0]); //添加图片信息的参数
formData.append('sizeid',123); //添加其他参数
$.ajax({
 url: '/material/uploadFile',
 type: 'POST',
 cache: false, //上传文件不需要缓存
 data: formData,
 processData: false, // 告诉jQuery不要去处理发送的数据
 contentType: false, // 告诉jQuery不要去设置Content-Type请求头
 success: function (data) {
 var rs = eval("("+data+")");
 if(rs.state==1){
 tipTopShow('上传成功!');
 }else{
 tipTopShow(rs.msg);
 }
 },
 error: function (data) {
 tipTopShow("上传失败");
 }
})

JavaScript实现图片上传并预览并提交ajax

更多精彩内容请参考专题《ajax上传技术汇总》,《javascript文件上传操作汇总》和《jQuery上传操作汇总》进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
将input file的选择的文件清空的两种解决方案
Oct 21 Javascript
深入理解JavaScript中的传值与传引用
Dec 09 Javascript
javascript对JSON数据排序的3个例子
Apr 12 Javascript
JavaScript中的数据类型转换方法小结
Oct 26 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
Nov 26 Javascript
php基于redis处理session的方法
Mar 14 Javascript
零基础轻松学JavaScript闭包
Dec 30 Javascript
微信小程序 本地存储及登录页面处理实例详解
Jan 11 Javascript
关于react-router的几种配置方式详解
Jul 24 Javascript
Vue中引入样式文件的方法
Aug 18 Javascript
详解express使用vue-router的history踩坑
Jun 05 Javascript
详解TypeScript中的类型保护
Apr 29 Javascript
浅探express路由和中间件的实现
Sep 30 #Javascript
JavaScript实现单图片上传并预览功能
Sep 30 #Javascript
解决vue cli使用typescript后打包巨慢的问题
Sep 30 #Javascript
laravel实现中文和英语互相切换的例子
Sep 30 #Javascript
JavaScript键盘事件响应顺序详解
Sep 30 #Javascript
vue自动化路由的实现代码
Sep 30 #Javascript
js实现图片上传即时显示效果
Sep 30 #Javascript
You might like
php弹出对话框实现重定向代码
2014/01/23 PHP
PHP 中提示undefined index如何解决(多种方法)
2016/03/16 PHP
PHP常见加密函数用法示例【crypt与md5】
2019/01/27 PHP
用正则xmlHttp实现的偷(转)
2007/01/22 Javascript
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
javascript options属性集合操作代码
2009/12/28 Javascript
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
Javascript对象属性方法汇总
2013/11/21 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
js只执行1次的函数示例
2016/07/20 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
2020/03/13 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
python实现多线程的两种方式
2016/05/22 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
pandas数据筛选和csv操作的实现方法
2019/07/02 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
python Paramiko使用示例
2020/09/21 Python
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
Moda Operandi官网:美国奢侈品电商,海淘秀场T台同款
2020/05/26 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
测试工程师岗位职责
2013/11/28 职场文书
办护照工作证明范本
2014/01/14 职场文书
活动总结书
2014/05/08 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
离婚协议书范本(2014版)
2014/09/28 职场文书
优秀员工事迹材料
2014/12/20 职场文书
教师网络培训心得体会
2016/01/09 职场文书
分享几个JavaScript运算符的使用技巧
2021/04/24 Javascript