示例更新-6.5.19
相关资料:
解决方案,
白皮书,
产品介绍,
产品比较,
开发文档,
成功案例,
产品源代码,
授权码工具,
个人版价格,
企业版价格,
政企版价格,
年费版价格,
OEM版价格,
源码版价格,基础组件,
示例下载,控件升级,
在线演示,
在线文档,并发能力,上传速度,下载速度,
Windows控件安装,
macOS控件安装,
deb控件安装,
rpm控件安装,安装引导,控件部署,控件升级,
IE9加载控件,
IE8加载控件,
示例下载:
asp.net-vs2013,
asp.net-vs2010,
jsp-eclipse,
jsp-springboot,
jsp-myeclipse,
php,
vue-cil,
WinForm(C#),
C++(WTL),
视频教程:
php7测试,
php5测试,
vue-cli-测试,
asp.net-IIS Express测试,
asp.net-IIS测试,
asp.net-阿里云(oss)测试,
asp.net-华为云(obs)测试,
jsp-springboot测试,
sm4加密传输,压缩传输,
Discuz集成,
源码编译:
ActiveX(x86),
ActiveX(x64),
Windows(npapi),
NativeMessage,
macOS,
Linux(海光,兆芯),
arm(鲲鹏,飞腾),
龙芯mips,
龙芯LoongArch,
ASP.NET教程:
asp.net,
IIS Express,
IIS,IIS-Https,
Oracle,
minio,fastdfs,
阿里云对象存储(oss),
华为云对象存储(obs),
jsp-eclipse教程:测试教程,
oracle,
mysql,
SQL Server,
minio,fastdfs,
阿里云对象存储(oss),
华为云对象存储(obs),
jsp-springboot教程:测试教程,
minio,fastdfs,
阿里云对象存储(oss),
华为云对象存储(obs),
jsp-myeclipse教程:
mysql,
oracle,
SQL Server,fastdfs,
php教程:测试教程,
minio,fastdfs,
阿里云对象存储(oss),
教程:
WinForm(C#)测试,
WTL(C++)测试,
在vue.js中使用,
在vue-cli中使用,
eclipse导入up6,组件引用,自定义事件,自定义业务字段,自定义文件保存路径,授权码,加密存储,加密传输,
使用Minio存储,使用FastDFS存储,
使用达梦数据库,数据表字段设计,监控fd_create流程,监控f_create流程,监控f_list.jsp流程,
相关问题:WebSocket连接失败,md5计算完毕后卡住,域名未授权,网站安全系统拦截,
联系我们:
QQ:1269085759(技术),
QQ:3040217208(售后),
QQ:1085617561(商务),
微信:13235643658,
邮箱:1269085759@qq.com,
1085617561@qq.com,
qwl@ncmem.com,

1.完善文件夹路径更新逻辑。将文件夹路径更新与文件夹上传的同步操作改为异步操作。
up6.js
新增方法update_folder_complete

代码:
this.update_folder_complete = function (json) {
var p = this.filesMap[json.id];
p.update_folder_complete(json);
},
recvMessage增加响应

up6.folder.js
svr_create方法更新

新增方法:update_folder_complete

代码:
this.update_folder_complete = function (json) {
setTimeout(function () {
_this.folderInit = true;
_this.post_fd();
}, 100);
};
2.文件管理器增加上传同名文件(覆盖),上传同名文件夹(合并)的功能。
f_complete.jsp
文件上传完毕后更新同名文件状态

DBFile.java
将同名文件状态标识更新为已删除

fd_complete.jsp
读取同名文件夹信息,将文件夹信息替换为同名文件夹信息,后面文件夹中子文件将放到同名文件夹中

清理同名子文件

清理当前目录

DbFolder.java
读取同名目录信息

清理当前目录,更新数据库标识

fd_scan.java
扫描文件夹中的子文件信息,清理数据库中已存在的同名文件

扫描文件夹中子文件信息

清理同名文件,将同名文件数据库标识更新为已删除

PageFileMgr.java
取消同名文件检测,允许同名文件上传

取消同名文件夹检测,允许同名文件夹上传

up6.file.js
文件上传完毕后,将覆盖开关标识传到服务端

文件快速上传完毕后,将覆盖开关标识传到服务端

up6.folder.js
文件夹上传完毕后,将覆盖开关标识传到服务端

测试效果:
文件管理器初始状态,先上传几个文件和文件夹

测试同名文件上传,上传一个同名文件可以看到文件列表中显示的已经是新上传的文件,在列表中旧的文件已经被覆盖

测试同名文件夹上传,上传一个同名文件夹可以看到新上传的同名文件夹已经合并到已经存在的同名文件夹中了

数据库记录:

数据说明:
关键数据已经用红框框起来了,可以根据f_time列的上传时间知道上传的先后顺序
1.同名文件上传数据说明
主要变化在于f_deleted标识,新的同名文件上传后会将旧的同名文件f_deleted标识更新为1,即为已删除,文件管理器只会加载未删除的文件数据,从而实现同名文件覆盖。
2.同名文件夹上传数据说明
主要变化在于子文件的f_pid,f_pidRoot字段值以及文件夹的f_deleted字段值,新上传的同名文件夹子文件将以已存在的同名文件夹为父目录或根目录以实现合并到已存在的文件夹中,然后将新上传的同名文件夹的f_deleted标识更新为1,即删除新的同名文件夹,从而实现将新的同名文件夹合并到已存在的同名文件夹中。