jquery.form异步提交上传图片插入数据&jquery二维码生成

使用jquery.form.js异步提交,实现文件上传与数据插入
数据带文件上传的传统做法:
1.先通过flash上传文件或图片,返回地址填入form表单
2.使用form表单提交数据插库
这样会导致很多垃圾文件,比如我上传文件或图片了,但是我不提交数据。
今天遇到的场景就是希望一次性处理图片上传与数据插入,另外我的页面还不能跳转,因为还有一个发布业务需要做。所以我就想到了jQuery的异步表单提交。
一.jquery.form.js集成
<script src="${js}/jquery.form.js"></script>
页面引入js
二.使用
form表单:
    jquery.form异步提交上传图片插入数据&jquery二维码生成
方行红色框框里的是要使用jquery.form异步提交需要在form表单上增加的,
圆形红色框框里的是要提交进行插入的数据属性
js写法:
    jquery.form异步提交上传图片插入数据&jquery二维码生成
注意必须return false;
data是后台方法返回的数据,这里我的后台方法返回的是json,所以这里直接.preUrl得到返回数据。后台方法里该写的插库逻辑照样写,上传文件的地址可以是项目里的图片路径或者是上传到阿里云OSS返回的路径,设置到对象的imgUrl属性后插入存库。
在controller里组织返回对象数据,然后转为json字符串,前台js接收,在回调函数里使用就ok了。
是不是很简单?回调里看到mackUrlCode方法是不是在猜测干啥的?顺便在这里也说了吧,这里下面是一个使用jquery的了一个组件生成二维码的逻辑,之前使用过QRCode.js ,貌似也写过分享,这里尝试一个新方法。
一.jquery.qrcode集成
<script src="${js}/jquery.qrcode.min.js"></script>
集成使用就这么简单。
二.使用
html里:
<div id="preUrlCode" class="url_code_div"></div>
js方法:
$("#preUrlCode").qrcode({
render: "table", //table方式
width: 200, //宽度
height:200, //高度
text: urlStr //任意内容
});
效果:
jquery.form异步提交上传图片插入数据&jquery二维码生成

就这么简单,红色框框是css的bug,还是不擅长样式处理,硬伤哦。
上面两个插件都还有其他API,大家可以自行查询结合自己项目的场景使用。