예제 #1
0
파일: FileHelper.cs 프로젝트: zz110/WTM
        /// <summary>
        /// 获取附件字节数组
        /// </summary>
        /// <param name="saveMode"></param>
        /// <param name="fa"></param>
        /// <param name="DC"></param>
        /// <returns></returns>
        private static byte[] GetBytes(SaveFileModeEnum saveMode, FileAttachment fa, IDataContext DC)
        {
            byte[] data = null;
            switch (saveMode)
            {
            case SaveFileModeEnum.Local:
                if (!string.IsNullOrEmpty(fa.Path) && File.Exists(fa.Path))
                {
                    data = File.ReadAllBytes(fa.Path);
                }
                break;

            case SaveFileModeEnum.Database:
                data = DC.Set <FileAttachment>().Where(x => x.ID == fa.ID).Select(x => x.FileData).FirstOrDefault();
                break;

            case SaveFileModeEnum.DFS:
                try
                {
                    data = FDFSClient.DownloadFile(fa.GroupName, fa.Path.TrimStart('/'));
                }
                catch (FDFSException)
                {
                }
                break;
            }
            return(data);
        }
예제 #2
0
        /// <summary>
        /// 获取附件字节数组
        /// </summary>
        /// <param name="saveMode"></param>
        /// <param name="fa"></param>
        /// <param name="DC"></param>
        /// <returns></returns>
        private static byte[] GetBytes(SaveFileModeEnum saveMode, FileAttachment fa)
        {
            byte[] data = null;
            switch (saveMode)
            {
            case SaveFileModeEnum.Local:
                if (!string.IsNullOrEmpty(fa.Path) && File.Exists(fa.Path))
                {
                    data = File.ReadAllBytes(fa.Path);
                }
                break;

            case SaveFileModeEnum.DFS:
                new Exception("未实现");
                //try
                //{
                //    data = FDFSClient.DownloadFile(fa.GroupName, fa.Path.TrimStart('/'));
                //}
                //catch (FDFSException)
                //{
                //}
                break;
            }
            return(data);
        }
예제 #3
0
파일: FileHelper.cs 프로젝트: zz110/WTM
        /// <summary>
        /// 通过FileAttachmentVM获取其文件流
        /// </summary>
        /// <param name="vm"></param>
        /// <param name="con"></param>
        /// <returns></returns>
        public static byte[] GetFileByteForDownLoadByVM(FileAttachmentVM vm, Configs con)
        {
            byte[]           data     = null;
            SaveFileModeEnum saveMode = vm.Entity.SaveFileMode == null ? con.FileUploadOptions.SaveFileMode : vm.Entity.SaveFileMode.Value;

            data = GetBytes(saveMode, vm.Entity, vm.DC);
            return(data);
        }
예제 #4
0
        /// <summary>
        /// 通过FileAttachmentVM获取其文件流
        /// </summary>
        /// <param name="vm"></param>
        /// <param name="con"></param>
        /// <returns></returns>
        public static byte[] GetFileByteForDownLoadByVM(FileAttachment vm, FileUploadOptions fileUploadOptions)
        {
            byte[]           data     = null;
            SaveFileModeEnum saveMode = vm.SaveFileMode == null ? fileUploadOptions.SaveFileMode : vm.SaveFileMode.Value;

            data = GetBytes(saveMode, vm);
            return(data);
        }
예제 #5
0
파일: FileHelper.cs 프로젝트: zz110/WTM
 /// <summary>
 /// 通过FileAttachment实体获取其文件流
 /// </summary>
 /// <param name="fi">FileAttachment</param>
 /// <param name="con">con</param>
 /// <returns>byte[]</returns>
 public static byte[] GetFileByteForDownLoadByEntity(FileAttachment fi, Configs con)
 {
     byte[] data = null;
     if (fi != null)
     {
         SaveFileModeEnum saveMode = fi.SaveFileMode == null ? con.FileUploadOptions.SaveFileMode : fi.SaveFileMode.Value;
         data = GetBytes(saveMode, fi, null);
     }
     return(data);
 }
예제 #6
0
파일: FileHelper.cs 프로젝트: zz110/WTM
        /// <summary>
        /// 通过FileId获取其文件流
        /// </summary>
        /// <param name="fileid"></param>
        /// <param name="dc"></param>
        /// <param name="con"></param>
        /// <returns></returns>
        public static byte[] GetFileByteForDownLoadById(Guid fileid, IDataContext dc, Configs con)
        {
            byte[]         data = null;
            FileAttachment fi   = dc.Set <FileAttachment>().Where(x => x.ID == fileid).FirstOrDefault();

            if (fi != null)
            {
                SaveFileModeEnum saveMode = fi.SaveFileMode == null ? con.FileUploadOptions.SaveFileMode : fi.SaveFileMode.Value;
                data = GetBytes(saveMode, fi, dc);
            }
            return(data);
        }
예제 #7
0
        /// <summary>
        /// 获取附件字节数组
        /// </summary>
        /// <param name="saveMode"></param>
        /// <param name="fa"></param>
        /// <param name="DC"></param>
        /// <returns></returns>
        private static byte[] GetBytes(SaveFileModeEnum saveMode, FileAttachment fa, IDataContext DC)
        {
            byte[] data = null;
            switch (saveMode)
            {
            case SaveFileModeEnum.Local:
                if (!string.IsNullOrEmpty(fa.Path) && File.Exists(fa.Path))
                {
                    data = File.ReadAllBytes(fa.Path);
                }
                break;

            case SaveFileModeEnum.Database:
                data = DC.Set <FileAttachment>().Include(x => x.FileData).Where(x => x.ID == fa.ID).Select(x => x.FileData.FileData).FirstOrDefault();
                break;
            }
            return(data);
        }