web大文件上传控件-jsp-oracle-bug修复-Xproer.HttpUploader6
说明:
修复删除文件夹逻辑错误的问题
1.更新up6.js
更新前:
更新后:
代码:
, "RemoveFolder": function (fileSvr)
{
var ref = this;
var idSvr = fileSvr.idSvr;
var ui = this.filesUiMap[idSvr];
$.ajax({
type: "GET"
, dataType: 'jsonp'
, jsonp: "callback" //自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
, url: this.Config["UrlFdDel"]
, data: { uid: fileSvr.uid, fid: fileSvr.idSvr,fd_id:fileSvr.fdID, time: new Date().getTime() }
, success:function (msg){if (msg == 1){ui.empty();}}
, error: function () { alert("发送删除文件信息失败!"); }
, complete: function (req, sta) { req = null; }
});
}
2.更新fd_del.jsp
更新前:
更新后:
更新后的代码:
<%@ page language="java" import="up6.*" pageEncoding="UTF-8"%><%@
page contentType="text/html;charset=UTF-8"%><%@
page import="org.apache.commons.lang.StringUtils" %><%
/*
此页面主要用来执行删除文件夹逻辑。
只修改数据库中文件夹状态。
更新记录:
2014-07-24 创建
*/
String path = request.getContextPath();
String fid = request.getParameter("fid");
String fd_id = request.getParameter("fd_id");
String uid = request.getParameter("uid");
String callback = request.getParameter("callback");//jsonp
int ret = 0;
//参数为空
if ( !StringUtils.isBlank(fid)
&& !StringUtils.isBlank(fd_id)
|| uid.length()>0 )
{
DBFolder.Remove(Integer.parseInt(fid),Integer.parseInt(fd_id), Integer.parseInt(uid));
ret = 1;
}
out.write(callback + "{(\"value\":"+ret+")}");
%>
3.更新DBFolder.java
更新前:
更新后:
更新代码:
删除文件夹时仅更新文件标识,文件夹标识,同时更新所有子文件标识。
static public void Remove(int id_file,int id_folder,int uid)
{
StringBuilder sb = new StringBuilder();
sb.append("begin ");
sb.append("update up6_files set f_deleted=1 where f_idSvr=? and f_uid=?;");//更新文件表
sb.append("update up6_files set f_deleted=1 where f_pidRoot=? and f_uid=?;");//更新子文件
sb.append("update up6_folders set fd_delete=1 where fd_id=? and fd_uid=?;");//更新文件夹
sb.append(" end;");
DbHelper db = new DbHelper();
PreparedStatement cmd = db.GetCommand(sb.toString());
try
{
cmd.setInt(1, id_file);
cmd.setInt(2, uid);
cmd.setInt(3, id_folder);
cmd.setInt(4, uid);
cmd.setInt(5, id_folder);
cmd.setInt(6, uid);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
db.ExecuteNonQuery(cmd);
}
最新文章
- 第二百二十四天 how can I 坚持
- [Unity菜鸟] Final IK
- 取得Resultset的记录条数
- C++的this指针
- BZOJ 1635: [Usaco2007 Jan]Tallest Cow 最高的牛
- 转: ajax跨域之JSONP
- SSH key introduction
- 通过hook实现禁止shift+delete快捷键
- storm-sql-kafka问题情况
- 谈一谈java中的Canves机制
- linux中运行.sql文件
- html页面使用前端框架布局时,弹出子页面等情况若出现布局混乱,可能是回发导致
- vue.js精讲01
- 5.9 C++重载转型操作符
- git只合并某一个分支的某个commit
- HDU4292(KB11-H 最大流)
- kubernetes dns 初步理解和使用 dnsmasq dns服务器跟host机器同步
- Error: cannot allocate vector of size 88.1 Mb问题
- SaltStack生产案例-系统初始化
- Shell_NotifyIcon托盘图标闪烁
热门文章
- Struts2中的异常处理
- PHP基础课程学习总结
- [转载]:fortran之format格式化输出总结
- NHibernate系列文章十四:NHibernate事务
- A required class was missing while executing org.apache.maven.plugins:maven-war-plugin:2.1.1:war
- Android 下拉刷新框架实现
- sql良好习惯
- SQL SERVER连接、合并查询
- Warchall: Live RCE
- [转] Python包和类的基本用法