public void update_folder(ref DbDataReader r, int fd_id) { uc_folder fd; if (!this.folders.TryGetValue(fd_id, out fd)) { fd = new uc_folder(); } this.folders.Remove(fd_id); FolderInf fdSvr = new FolderInf(); fdSvr.filesComplete = r.GetInt32(24); fdSvr.filesCount = r.GetInt32(23); fdSvr.foldersCount = r.GetInt32(22); fdSvr.idFile = r.GetInt32(0); fdSvr.idSvr = r.GetInt32(3); fdSvr.lenLoc = r.GetInt64(9); fdSvr.lenSvr = r.GetInt64(12); fdSvr.pathLoc = r.GetString(20); fdSvr.pathSvr = r.GetString(21); fdSvr.size = r.GetString(18); fdSvr.nameLoc = r.GetString(16); fdSvr.perSvr = r.GetString(13); fd.m_fdSvr = fdSvr; this.folders.Add(fd_id, fd); }
public static string GetFolderData(int fid, ref FolderInf root) { StringBuilder sb = new StringBuilder(); sb.Append("select "); sb.Append("xf.fd_name"); sb.Append(",xf.fd_length"); sb.Append(",xf.fd_size"); sb.Append(",xf.fd_pid"); sb.Append(",xf.fd_pathLoc"); sb.Append(",xf.fd_pathSvr"); sb.Append(",xf.fd_folders"); sb.Append(",xf.fd_files"); sb.Append(",xf.fd_filesComplete"); sb.Append(" from down_folders as df"); sb.Append(" left join xdb_files as xf"); sb.Append(" on xf.fd_id = df.fd_id"); sb.Append(" where df.fd_id=@fd_id and xf.fd_complete=1;"); DbHelper db = new DbHelper(); DbCommand cmd = db.GetCommand(sb.ToString()); db.AddInInt32(cmd, "@fd_id", fid); DbDataReader r = db.ExecuteReader(cmd); //FolderInf root = new FolderInf(); if (r.Read()) { root.m_name = r.GetString(0); root.m_lenLoc = r.GetInt64(1); root.m_size = r.GetString(2); root.m_pidSvr = r.GetInt32(3); root.m_idSvr = fid; root.m_pathLoc = r.GetString(4); root.m_pathSvr = r.GetString(5); root.foldersCount = r.GetInt32(6); root.filesCount = r.GetInt32(7); root.filesComplete = r.GetInt32(8); } r.Close(); //单独取已上传长度 root.lenSvr = DBFolder.GetLenPosted(fid); //取文件信息 JArray files = new JArray(); List <string> ids = new List <string>(); DBFile.GetCompletes(fid, ref files, ref ids); JObject obj = (JObject)JToken.FromObject(root); obj["files"] = files; obj["length"] = root.m_lenLoc; obj["ids"] = string.Join(",", ids.ToArray()); return(obj.ToString()); }
/// <summary> /// 构建存储路径,保留客户端文件名称 /// 格式: /// upload/uid/folders/uuid/folder_name /// </summary> /// <param name="uid"></param> /// <param name="fd"></param> /// <returns></returns> public override string genFolder(int uid, ref FolderInf fd) { var uuid = Guid.NewGuid().ToString("N"); // e0a953c3ee6040eaa9fae2b667060e09 DateTime timeCur = DateTime.Now; string path = Path.Combine(this.getRoot(), timeCur.ToString("yyyy")); path = Path.Combine(path, timeCur.ToString("MM")); path = Path.Combine(path, timeCur.ToString("dd")); path = Path.Combine(path, uuid); path = Path.Combine(path, fd.nameLoc); return(path); }
protected void Page_Load(object sender, EventArgs e) { string fdID = Request.QueryString["fdID"]; //xdb_folders.fd_id string idSvr = Request.QueryString["idSvr"]; string cbk = Request.QueryString["callback"]; FolderInf fi = new FolderInf(); string json = string.Empty; if (!string.IsNullOrEmpty(idSvr)) { json = DnFolder.GetFolderData(int.Parse(idSvr), ref fi); } else if (!string.IsNullOrEmpty(fdID)) { json = DBFolder.GetFolderData(int.Parse(fdID), ref fi); } json = HttpUtility.UrlEncode(json); //UrlEncode会将空格解析成+号 json = json.Replace("+", "%20"); //Response.Write(cbk+"("+json+ ")"); Response.Write(json); }
public virtual string genFolder(int uid, ref FolderInf fd) { return(string.Empty); }
/// <summary> /// 不创建文件夹,所有文件统一以日期格式存储 /// </summary> /// <param name="uid"></param> /// <param name="fd"></param> /// <returns></returns> public override string genFolder(int uid, ref FolderInf fd) { return(string.Empty); }
public FolderDbWriter(DbConnection con, FolderInf fd) { this.con = con; this.root = fd; }