遇到的问题:
最近使用了THINKCMF给客户开发了一个企业网站,客户在使用了一段时间后打电话说后台文章编辑页面有问题
经过沟通过知道,在后台文章编辑和添加页面相册图集每次只能上传一张图片

在跟客户确认了所有的细节后就开始解决,首页在本地进行了测试发现客户说的是对的,于是就查看源代码
在\tpl_admin\simpleboot\Asset\swfupload.html发现上传的图片数量是固定的,找到问题后就开始在网络上搜索有没有现有的解决方案
在网络上没有找到现有的解决方案,于是自己动手直接在源码里解决
解决方案:
实现原理:主要是在页面调用时加了一个参数,然后在上传页面根据此参数动态设置要上传的数量
1.修改\tpl_admin\simpleboot\Asset\swfupload.html源文件代码(仅修改过的JS文件列出)
<script>
/**
* @Author: HTL
* @Email: Huangyuan413026@163.com
* @DateTime: 2015-07-13 14:23:01
* @Description: 通过参数自定义上传的数量
*/
var _file_upload_limit="<php>echo $_GET['max_count'];</php>";
//默认为1个,为0则表示不限制
if(_file_upload_limit.length<=0)
_file_upload_limit=1;
//用于图库加载
function set_iframe(id,src){
if($("#"+id).attr("src")==""){
$("#"+id).attr("src",src);
}
}
//网络地址
function addonlinefile(obj){
var strs = $(obj).val()?'|'+ $(obj).val():'';
$('#att-status').html(strs);
}
//是否添加水印设置
function change_params(){
if($('#watermark_enable').attr('checked')){
swfu.addPostParam('watermark_enable','1');
}else{
swfu.removePostParam('watermark_enable');
}
}
//图片选择处理回调
function album_cancel(obj,id,source){
//图片地址
var src = $(obj).attr("data-path");
//上传图片文件名
var filename = $(obj).attr("title");
//选择状态中的数据对象
var selected = $("#fsUploadProgress .selected");
if($("#aid-"+id).hasClass('selected')){
$("#aid-"+id).removeClass("selected");
selected = $("#fsUploadProgress .selected");
var imgstr = $("#att-status").html();
var length = selected.children("img").length;
var strs = filenames ='';
for(var i=0;i<length;i++){
strs +='|'+selected.children("img").eq(i).attr('path');
filenames +='|'+selected.children("img").eq(i).attr('title');
}
$('#att-status').html(strs);
$('#att-status').html(filenames);
}else{
var num = $('#att-status').html().split('|').length;
var file_upload_limit = _file_upload_limit;//自定义上传的数量
//_file_upload_limit=0为不限制数量
if(file_upload_limit>0&& num > file_upload_limit){alert('不能选择超过'+file_upload_limit+'个附件');returnfalse;}
$("#aid-"+id).addClass("selected");
$('#att-status').append('|'+src);
$('#att-name').append('|'+filename);
}
}
</script>
<scripttype="text/javascript">
var swfu ='';
$(document).ready(function(){
Wind.use("swfupload",GV.DIMAUB+"statics/js/swfupload/handlers.js",function(){
swfu =newSWFUpload({
flash_url:"__ROOT__/statics/js/swfupload/swfupload.swf",
upload_url:"{:u('asset/swfupload')}",
file_post_name :"Filedata",
post_params:{
"{:C('VAR_SESSION_ID')}":"{:session_id()}",
"thumb_width":"0",
"thumb_height":"0",
"watermark_enable":"1",
"filetype_post":"jpg|jpeg|gif|png|bmp|zip"
},
file_size_limit:"20240KB",
file_types:"*.jpg;*.jpeg;*.gif;*.png;*.bmp;*.zip",
file_types_description:"All Files",
file_upload_limit:_file_upload_limit,//自定义上传的数量
custom_settings :{progressTarget :"fsUploadProgress",cancelButtonId :"btnCancel"},
button_image_url:"",
button_width:75,
button_height:28,
button_placeholder_id:"buttonPlaceHolder",
button_text_style:"",
button_text_top_padding:3,
button_text_left_padding:12,
button_window_mode:SWFUpload.WINDOW_MODE.TRANSPARENT,
button_cursor:SWFUpload.CURSOR.HAND,
file_dialog_start_handler : fileDialogStart,
file_queued_handler : fileQueued,
file_queue_error_handler:fileQueueError,
file_dialog_complete_handler:fileDialogComplete,
upload_progress_handler:uploadProgress,
upload_error_handler:uploadError,
upload_success_handler:uploadSuccess,
upload_complete_handler:uploadComplete
});
});
})</script>
<script>
$(function(){
$("#att-status").html("");
$("#att-status-del").html("");
$("#att-name").html("");
});
//设置上传的最大数量,为0表示不限制数量
if(_file_upload_limit<=0)$("#max_count").text("N");
else$("#max_count").text(_file_upload_limit);
</script>

2.替换\tpl_admin\simpleboot\Portal\AdminPost\里的edit.html和add.html以下内容
<ahref="javascript:;"style="margin:5px0;"οnclick="javascript:flashupload('albums_images','图片上传','photos',change_images,'10,gif|jpg|jpeg|png|bmp,0','','','')"class="btn">选择图片 </a>
//更改为,max_count=0表示不限制,不设置默认为1
<a href="javascript:;" style="margin:5px 0;" οnclick="javascript:flashupload('albums_images','图片上传','photos',change_images,'10,gif|jpg|jpeg|png|bmp,0','','&max_count=0','')"class="btn">选择图片 </a>

max_count=0
max_count=5 或指定数字
max_count=未设置 默认为1

转载于:https://www.cnblogs.com/herry52/p/5660237.html

解决THINKCMF后台文章的相册图集只能上传一个图片的问题相关推荐

  1. vue3 el-upload 上传附件及预览 限制只能上传一个图片或者pdf格式的文件

    vue3 el-upload 上传附件及预览 限制只能上传一个图片或者pdf格式的文件 效果如图 直接看代码吧 template部分 <div class="file-upload&q ...

  2. Vue上传图片(只能上传一个)及可替换

    手摸手教你实现vue上传图片-头像,只能上传一张且可重复替换! vue结合element-ui实现上传头像图片 话不多说直接上图 . 初始化页面样式可更改哈 代码如下 <div style=&q ...

  3. vue用阿里云oss上传图片使用分片上传只能上传100kb以内的解决办法

    首先,vue和阿里云oss上传图片结合参考了 这位朋友的 https://www.jianshu.com/p/645f63745abd 文章,成功的解决了我用阿里云oss上传图片前的一头雾水. 该大神 ...

  4. php 多只能上传20个文件解决办法,修改php.ini 的max_file_uploads

    有个限制是一次最多只能上传20个文件而已. 该参数在php.ini 里沒有的,也就是 max_file_uploads ,预设值是20. 修改成你想上传的数量就可以了. 转载于:https://www ...

  5. IIS7.5只能上传2M文件的解决办法

    问题:IIS7.5只能上传2M的数据,超过2M,程序会出现错误. 网上一般解决方案: IIS修改方案: 1. 修改IIS的applicationhost.config     打开 %windir%\ ...

  6. 解决H5 IOS手机图片上传时图片会旋转90°问题

    解决H5 IOS手机图片上传时图片会旋转90°问题 Vant 官方给出的解答需要自己解决,没有处理. 解决办法主要使用了 compressorjs 插件库 一.Vant UI库Uploader 组件图 ...

  7. struts2文件上传一个错误的解决

    struts2文件上传一个错误的解决 在做struts2的多文件上传时,选择了几个比较大的文件,点击"提交"后,画面没有提示说文件太大,而是清空了各个表单项,查看控制台显示如下错误 ...

  8. 多个ajaxFileUpload上传图片与ajax合用,解决同步问题,用户随意上传多少图片都可以;

    需求描述:因ajaxFileUpload 文件上传插件是异步请求,但是业务上需要先得到 ajaxFileUpload 请求后的图片url, 在通过ajax 把图片URL等其它需要录入的数据一并写入数据 ...

  9. 解决MarkDown上传本地图片无法显示

    解决MarkDown上传本地图片无法显示 前言 提示:什么牛头马面写的代码,今天写个技术博客想插入一张图片发现无法显示,接着按流程在博客一顿找,发现我开头第一句,不知道怎么形容垃圾场里面找垃圾的心情. ...

  10. 调用android的拍照或本地相册选取再实现相片上传服务器,Android调用系统相机、本地相册上传图片(头像上传(裁剪)、多张图片上传)...

    开发中基本上都会有头像上传的功能,有的app还需要多张图片同时上传,下面简单将头像上传以及多张图片上传功能整理一下.图片选择仿照微信选择图片的界面.[参考] 多图片选择器 !!!推荐一个动态权限请求的 ...

最新文章

  1. 把项目放到码云上,通过git 进行项目管理
  2. 为tomcat6批量生成安全证书
  3. window下python扩展包大全
  4. SQL里各种联合查询总结
  5. OA系统如何控制每个人的权限?
  6. [Java基础]类加载
  7. 通过什么途径能够深入了解JavaScript引擎是如何工作的?
  8. Hadoop生态圈-Hbase的API常见操作
  9. ubunt18.04LTS+vscode+anaconda3下的python+C++调试
  10. 兼容firstChild和firstElementChild
  11. 常用前端Js框架简介
  12. SpringSecurity源码解读
  13. Linux实验一:安装配置Vmware-Linux实验环境
  14. 数据结构与算法分析(C++语言版)_张琨版 第一章课后习题答案
  15. 7个人生工具:SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则
  16. eclipse中Ctrl+Alt+↓向下复制快捷键与系统中翻转屏幕快捷键冲突问题(已解决)
  17. 高铁轮毂表面缺陷的<视觉显著性>超像素图像检测方法
  18. 利用Excel可视化分析,柱形图、条形图、饼图、复合饼图,圆环图、组合图、漏斗图、地图的操作方法(适合小白)
  19. 类似staruml的工具有哪些?
  20. java发送手机短信demo

热门文章

  1. Java程序设计基础笔记 • 【目录】
  2. c语言线性规划建模及求解,C语言大作报告线性规划求解基科3字班.doc
  3. Windows11安装Vim编辑器配置指南
  4. 双层pdf解析 java_java转双层pdf
  5. 网络安全实验7 防火墙 Iptables应用
  6. 【CAD开发】3dxml文件格式读取(Python、C++、C#)
  7. 《Spring Boot极简教程》第9章 Spring Boot集成Scala混合Java开发
  8. 安卓系统组态软件_第六代组态软件夸平台支持苹果安卓手机APP智能控制PLC
  9. 系统功能测试用例模板
  10. java写企业员工信息管理系统