Ejemplo n.º 1
0
        public UpLoadFileResult UpLoadFile1(HttpPostedFile file, string progId = "")
        {
            UpLoadFileResult upLoadFileResult = new UpLoadFileResult();

            bool isLocalHost = true;

            string fileName = LibDateUtils.Now().Ticks.ToString();

            fileName = file.FileName.Replace(file.FileName.Substring(0, file.FileName.LastIndexOf('.')), fileName);
            string filePath = Path.Combine(EnvProvider.Default.RuningPath, "TempData", "ImportData", fileName);
            string url      = Path.Combine("\\TempData", "ImportData", fileName);

            #region 对应实体图片路径
            if (!string.IsNullOrEmpty(progId))
            {
                string  sql     = string.Format(" SELECT Url,LocalHost FROM ComImagePath WHERE Progid='{0}' ", progId);
                DataSet dataSet = new LibDataAccess().ExecuteDataSet(sql);
                if (dataSet != null && dataSet.Tables.Count > 0 && dataSet.Tables[0].Rows.Count > 0)
                {
                    DataRow dr = dataSet.Tables[0].Rows[0];
                    isLocalHost = LibSysUtils.ToBoolean(dr["LocalHost"]);
                    url         = LibSysUtils.Combine(LibSysUtils.ToString(dr["Url"]), fileName);
                    filePath    = LibSysUtils.Combine(EnvProvider.Default.RuningPath, url);
                }
            }
            #endregion

            #region 新增图片实体
            LibEntryParam entryParam = new LibEntryParam();

            DataSet    dataset = null;
            LibBcfData bcfData = (LibBcfData)LibBcfSystem.Default.GetBcfInstance("KanTime.Picture");
            dataset = bcfData.AddNew(entryParam);

            #region 填充数据
            dataset.EnforceConstraints = false;
            try
            {
                #region  表头
                DataRow masterRow = dataset.Tables[0].Rows[0];
                masterRow.BeginEdit();
                masterRow["Name"] = fileName;
                masterRow["Url"]  = url;
                masterRow.EndEdit();
                #endregion

                #region 明细
                //dataset.Tables[1].BeginLoadData();
                //dataset.Tables[1].EndLoadData();
                #endregion
            }
            finally
            {
                dataset.EnforceConstraints = true;
            }
            dataset = bcfData.InnerSave(BillAction.AddNew, null, dataset);
            if (bcfData.ManagerMessage.IsThrow)
            {
                StringBuilder strMsg = new StringBuilder();
                foreach (var item in bcfData.ManagerMessage.MessageList)
                {
                    strMsg.AppendFormat("{0}", item.Message);
                }
                throw new Exception(strMsg.ToString());
            }
            #endregion

            #endregion

            file.SaveAs(filePath);

            #region 返回本机或外网地址
            if (isLocalHost)
            {
                upLoadFileResult.FileName = url;
            }
            else
            {
                upLoadFileResult.FileName = LibSysUtils.Combine(EnvProvider.Default.UploadHostName, url);
            }
            #endregion

            upLoadFileResult.success = true;
            return(upLoadFileResult);
        }