/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }