借助插件实现异步上传图片的,需要引用Jquery。
HTML:
<a οnclick="selectImg(this)">照片</a>
<input type="file" id="file{$voc.id}" name="file{$voc.id}" οnchange="ajaxFileUpload(this.id)"
accept="image/*" style="display: none;" />
<input type="hidden" id="hd{$voc.id}" name="hd{$voc.id}" />
一个a连接供选择照片,触发file的click事件,
注意:
如果用jq的on方法,只能触发一次选择图片,所以,应该把事件直接写在file本身。
file标签一定要有name属性,不然提示“未上传图片”
JS事件:
触发file的click事件:
function selectImg(obj){
$(obj).next().click();
}
function ajaxFileUpload(file_id) {
$.ajaxFileUpload
(
{
url: '{:U("Wap/Home/uploadImg")}', //用于文件上传的服务器端请求地址
secureuri: false, //是否需要安全协议,一般设置为false
fileElementId: file_id, //文件上传域的ID
dataType: 'json', //返回值类型 一般设置为json
success: function (data, status) //服务器成功响应处理函数
{
$("#"+file_id).parent().find("span").remove();//多次上传时,移除旧的,再添加新的
$("#"+file_id).parent().append("<span οnclick='viewImg(this)'>查看</span>");
$("#"+file_id).parent().find("input[type=hidden]").val("__ROOT__/Uploads/"+data.imgurl);
if (typeof (data.error) != 'undefined') {
if (data.error != '') {
alert(data.error);
} else {
alert(data.msg);
}
}
},
error: function (data, status, e