分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

tp5多图上传

发布时间:2023-09-06 01:35责任编辑:郭大石关键词:暂无标签

首先是最终的完成效果

这里是源代码下载地址 https://pan.baidu.com/s/1eSAQoSy

然后是具体的详细步骤(图片为网上参考,代码是实际写出效果的代码;方便引用):

1.在需要添加图片的html页面上引入js,再编写上传图片的代码块

这一步和他原来的代码无异,只是无需写隐藏的输入框了,因为每张图片都需要一个hidden input 记录id值,所以在第二步中写到了如何动态添加input

html代码:

<script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script> 
<script type="text/javascript" src="__STATIC__/myQuery.js"></script>
<div class="controls">
???<label class="item-label">分类图标</label>
???<input type="file" id="upload_picture">
???<div class="upload-img-box">
???????<notempty name="info[‘icon‘]">
???????????<div class="upload-pre-item"><img src="__ROOT__{$info.icon|get_over=‘path‘}" /></div>
???????</notempty>
???</div>
</div>

2.修改uploadPicture函数

这一步就是动态添加图片到页面上,并且每添加一张图片便动态添加一个hidden input节点记录当前图片的id值,和为每张图片加一个删除按钮,注意hidden input 的 name 需要加 [ ] ,这样后台才接受的到数据,然后前台修改就结束了

js代码:

<script type="text/javascript">
???//上传图片
???/* 初始化上传插件 */
???$("#upload_picture").uploadify({
???????"height" ?????????: 30,
???????"swf" ????????????: "__STATIC__/uploadify/uploadify.swf",
???????"fileObjName" ????: "download",
???????"buttonText" ?????: "上传图片",
???????"uploader" ???????: "{:U(‘File/uploadPicture‘,array(‘session_id‘=>session_id()))}",
???????"width" ??????????: 120,
???????‘removeTimeout‘ ?????: 1,
???????‘fileTypeExts‘ ??: ‘*.jpg; *.png; *.gif;‘,
???????"onUploadSuccess" : uploadPicture,
???????‘onFallback‘ : function() {
???????????alert(‘未检测到兼容版本的Flash.‘);
???????}
???});
???function uploadPicture(file, data){
???????var data = $.parseJSON(data);
???????var src = ‘‘;
???????if(data.status){
???????????$_img_path = $("<input type=‘hidden‘ name=‘icon[]‘ class=‘icon‘ value=‘‘ />");
???????????$_img_path.val(data.path);
???????????$(‘#tab1‘).append($_img_path);
???????????src = ‘__ROOT__‘ + data.path;
???????????$_upload_img = $("<img src=" + src +" title=‘点击显示大图‘>");
???????????$_img_del = $("<span class=‘btn-close‘ title=‘删除图片‘></span>>");
???????????$_upload_item = $("<div class=‘upload-pre-item‘></div>");
???????????$_upload_item.append($_upload_img);
???????????$_upload_item.append($_img_del);
???????????$(‘.upload-img-box‘).append($_upload_item);
???????} else {
?????????alert(data.msg)
???????}
???}
</script>

3.修改common.css

对自己添加的删除按钮添加样式 ,并且限制弹出框中图片的大小

如果删除按钮未显示,查看背景图片路径是否正确:

background: url(../Admin/images/blue_color/bg_icon.png);
background: url(../images/blue_color/bg_icon.png)

以下可下载---------------------------------------------------------------------

4.修改common.js(Public->Admin->js->common.js)

原上传图片后点击缩略图整行都可以显示大图,修改后只有点击缩略图时才能查看大图,所以用$(document).delegate为还未存在的缩略图添加事件,然后在$(“.upload-img-popup”)里直接添加本缩略图的复制节点就ok,原来的写法会导致删除图片的按钮也一并添加到了弹出框中。

5.自写myQuery.js

这一步的目的是给删除按钮添加事件,删除选择的图片和该图片对应的hidden input。?这样就完成了显示上传的多张图片,并且可以多次添加图片。

6.后台使用 I(‘post.icon’)操作来直接获得icon数据,返回数据为所有图片的id

tp5多图上传

原文地址:https://www.cnblogs.com/zlicon/p/8269113.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved