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 相关文章推荐
单击某一段文字改写文本颜色
Jun 06 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
Jan 13 Javascript
JavaScript返回网页中超链接数量的方法
Apr 03 Javascript
jQuery消息提示框插件Tipso
May 04 Javascript
浅谈javascript的Array.prototype.slice.call
Aug 31 Javascript
实例详解ECMAScript5中新增的Array方法
Apr 05 Javascript
Jquery跨域获得Json的简单实例
May 18 Javascript
详解关于react-redux中的connect用法介绍及原理解析
Sep 11 Javascript
解决js ajax同步请求造成浏览器假死的问题
Jan 18 Javascript
JavaScript实现简单的文本逐字打印效果示例
Apr 12 Javascript
JS实现的判断方法、变量是否存在功能示例
Mar 28 Javascript
Vue发布订阅模式实现过程图解
Apr 30 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桌面中心(四) 数据显示
2007/03/11 PHP
php 获取客户端的真实ip
2009/11/30 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
ajax完美实现两个网页 分页功能的实例代码
2013/04/16 PHP
stripos函数知识点实例分享
2019/02/11 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
JS实现刷新父页面不弹出提示框的方法
2016/06/22 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
2017/02/26 Javascript
微信小程序 列表的上拉加载和下拉刷新的实现
2017/04/01 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
七行JSON代码把你的网站变成移动应用过程详解
2019/07/09 Javascript
js实现微信聊天界面
2020/08/09 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
Python中字典的基础知识归纳小结
2015/08/19 Python
Python编程实现正则删除命令功能
2017/08/30 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
2018/06/26 Python
python如何删除文件中重复的字段
2019/07/16 Python
Python进度条的制作代码实例
2019/08/31 Python
Python实现AI换脸功能
2020/04/10 Python
Android本地应用打开方法——通过html5写连接
2016/03/11 HTML / CSS
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
外贸业务员的岗位职责
2013/11/23 职场文书
优秀女职工事迹材料
2014/02/06 职场文书
班级读书活动总结
2014/06/30 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
公司仓库管理制度
2015/08/04 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL