Example #1
0
        public ActionResult UploadImage(string DataItemEncode, string DataItemName, HttpPostedFileBase Filedata)
        {
            try
            {
                Thread.Sleep(500);////延迟500毫秒
                //没有文件上传,直接返回
                if (Filedata == null || string.IsNullOrEmpty(Filedata.FileName) || Filedata.ContentLength == 0)
                {
                    if (Request.Files.Count > 0)
                    {
                        Filedata = Request.Files[0];
                    }
                    else
                    {
                        return(HttpNotFound());
                    }
                }
                //获取文件完整文件名(包含绝对路径)
                //文件存放路径格式:/Resource/ResourceFile/{userId}{data}/{guid}.{后缀名}
                string userId           = OperatorProvider.Provider.Current().UserId;
                string fileGuid         = Guid.NewGuid().ToString();
                long   filesize         = Filedata.ContentLength;
                string FileEextension   = Path.GetExtension(Filedata.FileName);
                string uploadDate       = DateTime.Now.ToString("yyyyMMdd");//
                string dataItemFilePath = new DataItemDetailBLL().GetDataItemList().Where(t => t.F_EnCode == DataItemEncode).First(t => t.F_ItemName == DataItemName).F_ItemValue;
                string virtualPath      = string.Format("{0}/{1}/{2}/{3}{4}", dataItemFilePath, userId, uploadDate, fileGuid, FileEextension);
                //创建文件夹
                string path = Path.GetDirectoryName(virtualPath);
                Directory.CreateDirectory(path);
                FileAnnexesEntity fileAnnexesEntity = new FileAnnexesEntity();
                if (!System.IO.File.Exists(virtualPath))
                {
                    //保存文件
                    Filedata.SaveAs(virtualPath);
                    //文件信息写入数据库
                    fileAnnexesEntity.F_Id             = fileGuid;
                    fileAnnexesEntity.F_FileName       = Filedata.FileName;
                    fileAnnexesEntity.F_FilePath       = virtualPath;
                    fileAnnexesEntity.F_FileSize       = filesize.ToString();
                    fileAnnexesEntity.F_FileExtensions = FileEextension;
                    fileAnnexesEntity.F_FileType       = FileEextension.Replace(".", "");
                    fileAnnexesBLL.SaveEntity(null, fileAnnexesEntity);
                }
                string url             = string.Format("http://{0}/Utility/DownFile?fileId={1}", Request.UrlReferrer.Authority, fileAnnexesEntity.F_Id);
                string CKEditorFuncNum = System.Web.HttpContext.Current.Request["CKEditorFuncNum"];
                //上传成功后,我们还需要通过以下的一个脚本把图片返回到第一个tab选项

                return(Content("<script>window.parent.CKEDITOR.tools.callFunction(" + CKEditorFuncNum + ", \"" + url + "\");</script>"));
            }
            catch (Exception ex)
            {
                return(Content(ex.Message));
            }
        }
Example #2
0
 public ActionResult UploadifyFile(string DataItemEncode, string DataItemName, HttpPostedFileBase Filedata)
 {
     try
     {
         Thread.Sleep(500);////延迟500毫秒
         //没有文件上传,直接返回
         if (Filedata == null || string.IsNullOrEmpty(Filedata.FileName) || Filedata.ContentLength == 0)
         {
             if (Request.Files.Count > 0)
             {
                 Filedata = Request.Files[0];
             }
             else
             {
                 return(HttpNotFound());
             }
         }
         //获取文件完整文件名(包含绝对路径)
         //文件存放路径格式:/Resource/ResourceFile/{userId}{data}/{guid}.{后缀名}
         string userId           = OperatorProvider.Provider.Current().UserId;
         string fileGuid         = Guid.NewGuid().ToString();
         long   filesize         = Filedata.ContentLength;
         string FileEextension   = Path.GetExtension(Filedata.FileName);
         string uploadDate       = DateTime.Now.ToString("yyyyMMdd");//
         string dataItemFilePath = new DataItemDetailBLL().GetDataItemList().Where(t => t.F_EnCode == DataItemEncode).First(t => t.F_ItemName == DataItemName).F_ItemValue;
         string virtualPath      = string.Format("{0}/{1}/{2}/{3}{4}", dataItemFilePath, userId, uploadDate, fileGuid, FileEextension);
         //创建文件夹
         string path = Path.GetDirectoryName(virtualPath);
         Directory.CreateDirectory(path);
         FileAnnexesEntity fileAnnexesEntity = new FileAnnexesEntity();
         if (!System.IO.File.Exists(virtualPath))
         {
             //保存文件
             Filedata.SaveAs(virtualPath);
             //文件信息写入数据库
             fileAnnexesEntity.F_Id             = fileGuid;
             fileAnnexesEntity.F_FileName       = Filedata.FileName;
             fileAnnexesEntity.F_FilePath       = virtualPath;
             fileAnnexesEntity.F_FileSize       = filesize.ToString();
             fileAnnexesEntity.F_FileExtensions = FileEextension;
             fileAnnexesEntity.F_FileType       = FileEextension.Replace(".", "");
             fileAnnexesBLL.SaveEntity(null, fileAnnexesEntity);
         }
         var data = new
         {
             fileId = fileAnnexesEntity.F_Id
         };
         return(Content(data.ToJson()));
     }
     catch (Exception ex)
     {
         return(Content(ex.Message));
     }
 }
Example #3
0
        public void DownFile(string fileId)
        {
            FileAnnexesEntity data     = fileAnnexesBLL.GetEntity(fileId);
            string            filename = Server.UrlDecode(data.F_FileName);//返回客户端文件名称
            string            filepath = data.F_FilePath;

            if (FileDownHelper.FileExists(filepath))
            {
                FileDownHelper.DownLoadold(filepath, filename);
            }
        }
Example #4
0
 /// <summary>
 /// 保存实体
 /// </summary>
 /// <param name="keyValue"></param>
 /// <param name="entity"></param>
 public void SaveEntity(string keyValue, FileAnnexesEntity entity)
 {
     try
     {
         fileAnnexesService.SaveEntity(keyValue, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
Example #5
0
 public ActionResult RemoveFile(string fileId)
 {
     try
     {
         FileAnnexesEntity fileInfoEntity = fileAnnexesBLL.GetEntity(fileId);
         fileAnnexesBLL.DeleteEntity(fileId);
         //删除文件
         if (System.IO.File.Exists(fileInfoEntity.F_FilePath))
         {
             System.IO.File.Delete(fileInfoEntity.F_FilePath);
         }
         var data = new
         {
             code = "1",
         };
         return(Content(data.ToJson()));
     }
     catch (Exception ex)
     {
         return(Content(ex.Message));
     }
 }