public void UpLoadFile(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow(); SFCDB.BeginTrain(); try { T_R_FILE TRF = new T_R_FILE(SFCDB, DB_TYPE_ENUM.Oracle); Row_R_FILE RRF = (Row_R_FILE)TRF.NewRow(); RRF.ID = TRF.GetNewID(BU, SFCDB); RRF.NAME = Data["Name"].ToString(); RRF.FILENAME = Data["FileName"].ToString(); RRF.MD5 = Data["MD5"].ToString(); RRF.USETYPE = Data["UseType"].ToString(); RRF.STATE = "1"; RRF.VALID = 1; //不使用CLOB字段 //RRF.CLOB_FILE = ":CLOB_FILE";// Data["Bas64File"].ToString(); RRF.BLOB_FILE = ":BLOB_FILE"; RRF.EDIT_EMP = LoginUser.EMP_NO; RRF.EDIT_TIME = DateTime.Now; SFCDB.ThrowSqlExeception = true; //將同類文件改為歷史版本 TRF.SetFileDisableByName(RRF.NAME, RRF.USETYPE, SFCDB); string strSql = RRF.GetInsertString(this.DBTYPE); strSql = strSql.Replace("':CLOB_FILE'", ":CLOB_FILE"); strSql = strSql.Replace("':BLOB_FILE'", ":BLOB_FILE"); System.Data.OleDb.OleDbParameter p = new System.Data.OleDb.OleDbParameter(":BLOB_FILE", System.Data.OleDb.OleDbType.Binary); string B64 = Data["Bas64File"].ToString(); string b64 = B64.Remove(0, B64.LastIndexOf(',') + 1); byte[] data = Convert.FromBase64String(b64); p.Value = data; //new System.Data.OleDb.OleDbParameter(":CLOB_FILE", Data["Bas64File"].ToString()), SFCDB.ExecSqlNoReturn(strSql, new System.Data.OleDb.OleDbParameter[] { p }); //SFCDB.ExecSQL(RRF.GetInsertString(this.DBTYPE)); SFCDB.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; } catch (Exception ee) { SFCDB.RollbackTrain(); //this.DBPools["SFCDB"].Return(SFCDB); StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000037"; StationReturn.MessagePara.Add(ee.Message); } SFCDB.ThrowSqlExeception = false; this.DBPools["SFCDB"].Return(SFCDB); }
public void FileDownLoad(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow(); string ID = Data["ID"].ToString(); try { T_R_FILE TRF = new T_R_FILE(SFCDB, DB_TYPE_ENUM.Oracle); Row_R_FILE RRF = (Row_R_FILE)TRF.GetObjByID(ID, SFCDB); string filePath = ConfigurationManager.AppSettings["WebFilePath"]; filePath += "\\" + RRF.FILENAME; if (System.IO.File.Exists(filePath)) { System.IO.File.Delete(filePath); } System.IO.FileStream F = new System.IO.FileStream(filePath, System.IO.FileMode.Create); byte[] b = (byte[])RRF["BLOB_FILE"]; F.Write(b, 0, b.Length); F.Flush(); F.Close(); StationReturn.Data = "DOWNLOAD\\" + RRF.FILENAME; StationReturn.Status = StationReturnStatusValue.Pass; } catch (Exception ee) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000037"; StationReturn.MessagePara.Add(ee.Message); } SFCDB.ThrowSqlExeception = false; this.DBPools["SFCDB"].Return(SFCDB); }