(给Web前端雪儿加星标,提升前端技能)

之前写过图片上传的案例,但是时间一长就忘了,这次写的这个程序用到了图片的上传,并且能够图文显示,所以写了这篇文章来记录一下。由于人们的生活质量的提高及网络的发达,所以在各大软件中上传个人的头像及其他图片已成为普遍的事情,差不多所有的软件都实现了这个功能,那么他们究竟是怎么做到的呢?其实并不难,现在我就以一个完整的例子来讲解一下。先来看一下效果图及结构,再来看一下实现的功能的写法。

html文件

问题一:如何实现上传图片的功能并把图片显示出来?

4个步骤:

  1. 先打开file文件表单选择图片;
  2. 创建FileReader对象,用正则表达式过滤图片文件;
  3. 利用改变事件将图片显示出来;
  4. 读取文件,将url绑定到img标签的src属性上。

详细:

01.chooseImageFile方法

02.创建FileReader对象,用正则表达式过滤图片

FileReader对象允许Web应用程序来异步读取存储在用户计算机上的文件里面的内容,使用File和Blob对象指定要读取的文件或数据,其中结合input:file可以很方便的读取本地文件里面的内容。

03.利用改变事件将图片显示出来

readAsDataURL()方法是 FileReader 对象里面的方法,其作用为可以获取 API 异步读取的文件 数据,将图片另存为数据 Url,还可以实现图片上传预览的效果,让用户确认是否就是上传这张 图片,提升用户体验。

04.读取文件

问题二:如何进行提交表单数据?

给保存按钮一个点击事件,进行提交数据,再给form标签一个action行为进行提交表单数据。

问题三:如何清空图片?

问题四:如何把图片保存到数据库

注:在保存数据到数据库的时候我遇到一个问题,就是虽然图片上传到了现实出来了,但是无法保存到数据库,主要是fileCommodityPicture传过来的值,第一种是传到控制器的名字不能与数据库中存放图片的字段对应;第二种是传到控制器的值要与input中的name属性中的名字一致;第三种就是在form标签中写明是用了post请求(method="post"),否则fileCommodityPicture的值无法传到控制器。虽然看似简单,但是还是要注意细节问题!

form表单提交按钮点击事件先触发还是提交数据先触发_如何实现图片上传并保存到数据库?...相关推荐

  1. form表单下的button不设置type会自动提交表单

    有时html页面button点击会出现自动提交表单的情况. 后来查资料得知,form表单下的按钮在没有指定type类型的时候,button会有一个默认的type="submit" ...

  2. HTML form表单重置按钮无效问题

    在编写网页的时候,突然发现有一个页面的查询表单中重置按钮不起作用了.1.说明: 输入表单内容,不点击查询按钮,直接重置按钮,是可以清空重置表单内容的: 输入表单内容,点击查询按钮,再点击重置按钮,发现 ...

  3. ajas php 验证码_thinkPHP3.2.3利用Ajax前台实现验证码验证,但通过form表单的按钮提交后,验证码一直错误!如何解决?...

    展开全部 我用的方法是判断$_session里的验证码值是否与post提交的验证码值是否相等,经过测试没有问636f707962616964757a686964616f31333363396432题, ...

  4. form表单验证时的onsubmit事件

    form标签提交时,会触发onsubmit事件.onsubmit会在提交之前发生,所以验证可以写在onsubmit中. <!DOCTYPE html> <html> <h ...

  5. html input禁止驶入,layui form表单 input输入框获取焦点后 阻止Enter回车自动提交 – 执念 – 博客园...

    最简单的解决办法,不影响其他操作,给提交按钮增加 type="button" 属性 完美解决 立即提交 layui表格编辑状态下回车进入下一单元格 $(document).keyu ...

  6. 点击文字弹出一个DIV层窗口代码 【或FORM表单 并且获取点击按钮的ID值】

    点击不同按钮咨询不同的 专家 <?php for($i=1;$i<5;$i++){$uid=$i; //用户ID ?> <a class="a_click" ...

  7. form表单的action和onsubmit事件说明

    首先 action在form是属性,onsubmit是事件. <form action="table1.jsp" onSubmit="return check(); ...

  8. 使用form 表单+aja提交数据无返回结果-你真的了解点击事件属性值submit和button吗?

    下午写项目 遇到了一个问题 ,使用ajax提交数据,后台能拿到数据, 但是一直无法进入回调函数,浪费了一个多小时的时间都没有解决. 点击事件的时候,属性不能为submit. 因为属性submit会提交 ...

  9. html得到上传文件类型后缀,js获取上传文件后缀名(附js提交form表单)

    js获取上传文件后缀名(附js提交form表单) 代码如下: function check_file() { var strFileName=form1.FileName.value; if (str ...

最新文章

  1. RuntimeWarning: invalid value encountered in true_divide
  2. matlab在绘图区加格栅,实验二(2) MATLAB绘图
  3. hdu1715(Java)大数相加
  4. 2017 数据驱动大会赠票赠书名单出啦!
  5. 深入理解connect by
  6. 收集21个经典Java面试题
  7. 【渝粤教育】广东开放大学 国际私法 形成性考核 (41)
  8. 华为服务器驱动_不可错过的华为核心概念股
  9. 这些互联网巨头,明年可能会纷纷杀入AI芯片战局
  10. button执行onclick函数_【JavaScript】函数
  11. Microsoft Visio 画图遇到的问题及解决办法
  12. 下载XAMPP并安装和使用(Mac环境)
  13. 计算机二进制中的原码,反码,补码
  14. android n sdk,Android SDK (phần 6) pptx
  15. 联想IdeapadU410重装系统win10
  16. 台式计算机入门基础知识,电脑基础知识:新手入门最全电脑知识干货
  17. Python + seleniume 清除chrome浏览器历史记录
  18. BDTC 2017数据库上午:犹他大学、东方国信、蚂蚁金服、微软、人大金仓
  19. 初识Hadoop之概念认知篇
  20. 10月份值得关注的10款P2E链游

热门文章

  1. shell判断进程使用CPU时间后kill进程
  2. 微软MCITP系列课程(十)WSUS服务器搭建
  3. Delphi多媒体设计之播放WAVE文件(API)
  4. 面对一个全新的环境,作为一个Mysql DBA,首先应该了解什么?
  5. 14.初步解析document的核心元数据以及图解剖析index创建反例
  6. 【毕业答辩】如何做出90分的毕业答辩PPT?
  7. python ** 运算符_Python入门(9)运算符 — 位运算符、成员运算符、身份运算符...
  8. 高考分数出来了,计算机专业选择那个方向更香?
  9. oracle 故障 linux,從硬盤安裝Oracle Linux 6.3之軟驅故障
  10. PaddleOCR-release-2.3\deploy\cpp_infer\src识别中文时出现乱码