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 相关文章推荐
JavaScript中的console.trace()函数介绍
Dec 29 Javascript
javaScript基础语法介绍
Feb 28 Javascript
javascript实现的简单计时器
Jul 19 Javascript
Vue.js常用指令汇总(v-if、v-for等)
Nov 03 Javascript
bootstrap vue.js实现tab效果
Feb 07 Javascript
详解用webpack2.0构建vue2.0超详细精简版
Apr 05 Javascript
nuxt+axios解决前后端分离SSR的示例代码
Oct 24 Javascript
javascript实现自由编辑图片代码详解
Jun 21 Javascript
ligerUI的ligerDialog关闭刷新的方法
Sep 27 Javascript
vue实现二级导航栏效果
Oct 19 Javascript
React实现全选功能
Aug 25 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
Jan 13 Vue.js
浅探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实现webservice实例
2014/11/06 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
JQuery从头学起第一讲
2010/07/04 Javascript
微信小程序 MINA文件结构
2016/10/17 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
微信小程序实现的自定义分享功能示例
2019/02/12 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
js校验开始时间和结束时间
2020/05/26 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
python下载微信公众号相关文章
2019/02/26 Python
python binascii 进制转换实例
2019/06/12 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
英文翻译的自我评价语句
2013/10/04 职场文书
超市营业员求职简历的自我评价
2013/10/17 职场文书
求职信模版
2013/11/30 职场文书
置业顾问岗位职责
2014/03/02 职场文书
课内比教学心得体会
2014/09/09 职场文书
2015年幼师工作总结
2015/04/28 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python
python 爬取吉首大学网站成绩单
2021/06/02 Python
MySQL系列之十一 日志记录
2021/07/02 MySQL
MySQL存储过程及语法详解
2022/08/05 MySQL