public static bool saveDB(string filename, string oldname, string outfilename, string filedir, string truedir, int filesize, string fcode, int filetype) { StringBuilder builder = new StringBuilder(); builder.Append("insert into ov_files ("); builder.Append("filecode,filename,filesize,outfilename,stat,addip,addtime,adduser,filedir,linkflv,truedir,webserver,filetype,prefilename)"); builder.Append("values ("); builder.Append("@filecode,@filename,@filesize,@outfilename,@stat,@addip,getdate(),@adduser,@filedir,@linkflv,@truedir,@webserver,@filetype,@prefilename)"); builder.Append(";"); SqlParameter[] cmdParms = new SqlParameter[] { new SqlParameter("@filecode", SqlDbType.NVarChar, 0x10), new SqlParameter("@filename", SqlDbType.NVarChar, 0xff), new SqlParameter("@filesize", SqlDbType.Int), new SqlParameter("@outfilename", SqlDbType.NVarChar, 0xff), new SqlParameter("@stat", SqlDbType.Int), new SqlParameter("@addip", SqlDbType.NVarChar, 50), new SqlParameter("@adduser", SqlDbType.NVarChar, 50), new SqlParameter("@filedir", SqlDbType.NVarChar, 50), new SqlParameter("@linkflv", SqlDbType.Int), new SqlParameter("@truedir", SqlDbType.NVarChar, 50), new SqlParameter("@webserver", SqlDbType.NVarChar, 0xff), new SqlParameter("@filetype", SqlDbType.Int), new SqlParameter("@prefilename", SqlDbType.NVarChar, 0xff) }; cmdParms[0].Value = fcode; cmdParms[1].Value = filename; cmdParms[2].Value = filesize; cmdParms[3].Value = outfilename; cmdParms[4].Value = 0; cmdParms[5].Value = func.GetIp(); cmdParms[6].Value = pagebase.Get("u"); cmdParms[7].Value = filedir; cmdParms[8].Value = 0; cmdParms[9].Value = truedir; cmdParms[10].Value = ConfigurationManager.AppSettings["snsurl"].Trim().ToLower() + "sendok&";//转码服务更新路径 cmdParms[11].Value = filetype; cmdParms[12].Value = oldname; return(Conn.ExecuteNonQuery(builder.ToString(), cmdParms) == 1); }
public static int saveDB3(string filecode, string filename, string filesize, string outfilename, string stat, string addtime, string filedir, string linkflv, string truedir, string webserver, string filetype, string addip, string prefilename) { StringBuilder builder = new StringBuilder(); builder.Append("insert into ov_files ("); builder.Append("filecode,filename,filesize,outfilename,stat,addtime,filedir,linkflv,truedir,webserver,filetype,addip,prefilename)"); builder.Append("values ("); builder.AppendFormat("'{0}','{1}',{2},'{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}')", filecode, filename, filesize, outfilename, stat, Convert.ToDateTime(addtime), filedir, linkflv, truedir, webserver, filetype, addip, prefilename); builder.Append(";"); return(Conn.ExecuteNonQuery(builder.ToString())); }
/// <summary> /// 删除正式视频文件 /// </summary> private void del_file() { string str = pagebase.Get("fcode"); SqlParameter parameter = Conn.MakeInParam("@fcode", SqlDbType.Char, 0x10, str); if (Conn.ExecuteNonQuery("update ov_files set isdel=1 where filecode=@fcode", new SqlParameter[] { parameter }) > 0) { base.Response.Write("1"); } else if (!Conn.Exists("select * from ov_files where filecode=@fcode", new SqlParameter[] { parameter })) { base.Response.Write("1"); } else { base.Response.Write("0"); } }
protected void Page_Load(object sender, EventArgs e) { Response.AddHeader("Access-Control-Allow-Origin", "*"); List <Dictionary <string, string> > list = new List <Dictionary <string, string> >(); string action = Request["action"]; //del isconvert string filecode = Request["filecode"]; //文件filecode filecode=xxx-xxx-xxx-xxx if (action == null || filecode == null) { Response.Write("非法访问!"); HttpContext.Current.Response.End(); } string[] codeArr = filecode.Split(new char[] { '-' }); //切分 string inFilecodes = ""; for (int i = 0; i < codeArr.Length - 1; i++) { codeArr[i] = ("'" + codeArr[i] + "'"); inFilecodes += (codeArr[i] + ","); } inFilecodes += "'" + codeArr[codeArr.Length - 1] + "'"; try { if (action == "isconvert") { SqlDataReader dr = Conn.ExecuteReader("select stat,filecode,times,autoimg,flvsize,filetype from ov_files where filecode in(" + inFilecodes + ")");//查询 if (dr.Read()) { Dictionary <string, string> dic = new Dictionary <string, string>();//json字典 if (dr["stat"].ToString() == "1") { dic.Add("result", "true"); dic.Add("filecode", dr["filecode"].ToString()); //filecode dic.Add("times", dr["times"].ToString()); dic.Add("autoimg", dr["autoimg"].ToString()); dic.Add("flvsize", dr["flvsize"].ToString()); dic.Add("filetype", dr["filetype"].ToString()); } else if (dr["stat"].ToString() == "0" || dr["stat"].ToString() == "2") { dic.Add("result", "false"); } else if (dr["stat"].ToString() == "4") { dic.Add("result", "failure"); } list.Add(dic); while (dr.Read()) { dic = new Dictionary <string, string>(); //json字典 if (dr["stat"].ToString() == "1") //转换成功 { dic.Add("result", "true"); dic.Add("filecode", dr["filecode"].ToString()); //filecode dic.Add("times", dr["times"].ToString()); dic.Add("autoimg", dr["autoimg"].ToString()); dic.Add("flvsize", dr["flvsize"].ToString()); dic.Add("filetype", dr["filetype"].ToString()); } else if (dr["stat"].ToString() == "0" || dr["stat"].ToString() == "2") { dic.Add("result", "false"); } else if (dr["stat"].ToString() == "3") { dic.Add("result", "failure"); } list.Add(dic); } //关闭链接,必须手工关闭 Conn.CloseConnectionReader(); Response.Write(vodfile.JsonStringModule.ToJsonString(list)); } else { Conn.CloseConnectionReader(); Response.Write("{result:'false',info:'文件不存在'}"); } } //[[add by 境界@20160820:增加接口处理delete file的请求 else if (action == "delete") { string perID = Request["perID"]; if (perID != "73d2428effef619d51d8bcca966f7d98") { Response.Write("perID Invalid"); //关闭链接,必须手工关闭 Conn.CloseConnectionReader(); } else { //从数据库的ov_files表中查询filecode对应的记录,记录项需要:filename, filedir , truedir, outfilename. //filename 是上传的源文件,需要删除;outfilename是转码完毕的目标文件,需要删除。还需要删除图标文件。还需要删除云存储上的文件。但此表中没有云存储的路径。 SqlDataReader dr = Conn.ExecuteReader("select filecode,filename,filedir,truedir, outfilename from ov_files where filecode in(" + inFilecodes + ")"); //查询 bool bDeleted = false; bool bFileNotexsit = true; bool brecodeExsit = false; if (dr.Read()) { bDeleted = true; bFileNotexsit = false; brecodeExsit = true; //删除本地文件 string strFileDir = dr["filedir"].ToString(); string strSrcFileName = dr["filename"].ToString(); string strDstFileName = dr["outfilename"].ToString(); string strTrueDir = dr["truedir"].ToString(); //拼接源文件路径 string strSrcPathName = strTrueDir + @"tmpfiles\" + strSrcFileName; strSrcPathName = strSrcPathName.Replace(@"\\", @"\"); strSrcPathName = strSrcPathName.Replace(@"/", @"\"); strSrcPathName = strSrcPathName.Replace(@"\\", @"\"); //删除源文件 if (System.IO.File.Exists(strSrcPathName)) { System.IO.File.Delete(strSrcPathName); } //拼接目标文件路径 string strDstPathName = strTrueDir + strFileDir + @"\" + strDstFileName; strDstPathName = strDstPathName.Replace(@"\\", @"\"); strDstPathName = strDstPathName.Replace(@"/", @"\"); strDstPathName = strDstPathName.Replace(@"\\", @"\"); //删除转码目标文件 if (System.IO.File.Exists(strDstPathName)) { System.IO.File.Delete(strDstPathName); } //删除图标文件 string strImgpath = strTrueDir + strFileDir + @"\img\"; strImgpath = strImgpath.Replace(@"\\", @"\"); strImgpath = strImgpath.Replace(@"/", @"\"); strImgpath = strImgpath.Replace(@"\\", @"\"); foreach (string FileName in System.IO.Directory.GetFiles(strImgpath, dr["filecode"].ToString() + @"_*.jpg")) { string strFile = System.IO.Path.GetFileName(FileName); if (System.IO.File.Exists(strFile)) { System.IO.File.Delete(strFile); } } while (dr.Read()) { //删除本地文件 strFileDir = dr["filedir"].ToString(); strSrcFileName = dr["filename"].ToString(); strDstFileName = dr["outfilename"].ToString(); strTrueDir = dr["truedir"].ToString(); //拼接源文件路径 strSrcPathName = strTrueDir + @"tmpfiles\" + strSrcFileName; strSrcPathName = strSrcPathName.Replace(@"\\", @"\"); strSrcPathName = strSrcPathName.Replace(@"/", @"\"); strSrcPathName = strSrcPathName.Replace(@"\\", @"\"); //删除源文件 if (System.IO.File.Exists(strSrcPathName)) { System.IO.File.Delete(strSrcPathName); } //拼接目标文件路径 strDstPathName = strTrueDir + strFileDir + @"\" + strDstFileName; strDstPathName = strDstPathName.Replace(@"\\", @"\"); strDstPathName = strDstPathName.Replace(@"/", @"\"); strDstPathName = strDstPathName.Replace(@"\\", @"\"); //删除转码目标文件 if (System.IO.File.Exists(strDstPathName)) { System.IO.File.Delete(strDstPathName); } //删除图标文件 strImgpath = strTrueDir + strFileDir + @"\img\"; strImgpath = strImgpath.Replace(@"\\", @"\"); strImgpath = strImgpath.Replace(@"/", @"\"); strImgpath = strImgpath.Replace(@"\\", @"\"); foreach (string FileName in System.IO.Directory.GetFiles(strImgpath, dr["filecode"].ToString() + @"_*.jpg")) { string strFile = System.IO.Path.GetFileName(FileName); if (System.IO.File.Exists(strFile)) { System.IO.File.Delete(strFile); } } } Response.Write(vodfile.JsonStringModule.ToJsonString(list)); } if (brecodeExsit) { //删除数据库记录 Conn.ExecuteNonQuery("delete from ov_files where filecode in filecode in(" + inFilecodes + ")"); } //回送结果 if (bDeleted || bFileNotexsit) { //已经删除,或者文件不存在 //回送结果 Response.Write("Delete File Done"); } //关闭数据库链接,必须手工关闭 Conn.CloseConnectionReader(); } } //]] } catch { Response.Write("{result:'false',info:'服务调用失败'}"); } }
/// <summary> /// 上传完成保存 /// </summary> protected void save_upload() { UpFiles files; files = new UpFiles { SavePath = "tmpfiles" }; //存储文件 files.SaveUploadFiles(); //写入数据库 if ((files.GetPromptMessage() != null) || (files.listFile.Count == 0))//文件 { base.Response.End(); } else { try { dic = new Dictionary <string, string>(); string fileName = files.listFile[0].fileName; int fileSize = files.listFile[0].fileSize; //文件标题名,不含扩展名 string oldname = files.listFile[0].oldname; string ext = files.listFile[0].fileExt; //文件代码 string fcode = func.GetRandomString(0x10).ToLower(); //[stat] 0 //对外访问路径 string filedir = func.GetFlvFolder(); //本地文件相对路径 string truedir = HttpContext.Current.Server.MapPath(".") + @"\"; if (!System.IO.Directory.Exists(@truedir + "tmpfiles\\")) { //目录不存在,建立目录 System.IO.Directory.CreateDirectory(@truedir + "tmpfiles\\"); } //对外文件名 string outfilename = getOutFileName(this.filetype); string webserver = System.Configuration.ConfigurationManager.AppSettings.Get("webserver").ToString(); //string webserver = ""; string ischange = System.Configuration.ConfigurationManager.AppSettings.Get("ischange").ToString(); dic.Add("filecode", fcode); dic.Add("filename", fileName); dic.Add("filesize", fileSize.ToString()); dic.Add("outfilename", outfilename); dic.Add("stat", ischange); dic.Add("addtime", DateTime.Now.ToString()); dic.Add("filedir", filedir); dic.Add("linkflv", "0"); dic.Add("truedir", truedir.Replace("\\", "\\\\")); dic.Add("webserver", webserver); dic.Add("filetype", "0"); dic.Add("prefilename", oldname + ext); dic.Add("addip", func.GetIp()); dic.Add("errcount", "0"); dic.Add("isdel", "0"); StringBuilder builder = new StringBuilder(); builder.Append("insert into ov_files ("); builder.Append("filecode,filename,filesize,outfilename,stat,addtime,filedir,linkflv,truedir,webserver,filetype,prefilename,addip,errcount,isdel)"); builder.Append("values ("); builder.AppendFormat("'{0}','{1}',{2},'{3}',{4},'{5}','{6}',{7},'{8}','{9}','{10}','{11}','{12}',{13},{14})", dic["filecode"].ToString(), dic["filename"].ToString(), dic["filesize"].ToString(), dic["outfilename"].ToString(), Convert.ToInt32(dic["stat"].ToString()), Convert.ToDateTime(dic["addtime"].ToString()), dic["filedir"].ToString(), Convert.ToInt32(dic["linkflv"].ToString()), Convert.ToString(dic["truedir"]), dic["webserver"].ToString(), dic["filetype"].ToString(), dic["prefilename"].ToString(), dic["addip"].ToString(), Convert.ToInt32(dic["errcount"]), Convert.ToInt32(dic["isdel"])); builder.Append(";"); int result = Conn.ExecuteNonQuery(builder.ToString()); if (result > 0) { //获取插入的id 插入md5 /////////////////////////////////////////////////// ////查询ID 并且 写入md5 //异常暂不处理 失败返回null builder = new StringBuilder(); builder.Append("select id from ov_files where filecode='"); builder.Append(dic["filecode"]); builder.Append("'"); SqlDataReader sdr = Conn.ExecuteReader(builder.ToString()); if (sdr.Read()) { string id = sdr["id"].ToString(); sdr.Close(); builder = new StringBuilder(); builder.AppendFormat("insert into FileHash(FileHash,VideoFileID) values('{0}','{1}')", this.md5, id); Conn.ExecuteNonQuery(builder.ToString()); } //////////////////////////////////////////////////////// HttpContext.Current.Response.Write("{\"status\":\"1\",\"md5\":\"" + md5 + "\",\"filedir\":\"" + filedir + "\",\"outfilename\":\"" + outfilename + "\",\"oldname\":\"" + oldname + ext + "\",\"filcode\":\"" + fcode + "\",\"filename\":\"" + fileName + "\",\"filesize\":\"" + fileSize + "\"}");//成功 } else { HttpContext.Current.Response.Write("上传失败");//成功 } } catch (Exception exception) { base.Response.Write(exception.ToString()); } base.Response.End(); } }