///// <summary> ///// 根据文件路径,删除文件 ///// </summary> ///// <param name="filePath"></param> ///// <returns></returns> //public bool DeleteFile(string filePath) //{ // if (string.IsNullOrWhiteSpace(filePath)) // { // return false; // } // return GetFileService().Delete(filePath); //} /// <summary> /// 根据Fid,删除文件 /// </summary> /// <param name="fid"></param> /// <returns></returns> public bool DeleteFileByFid(string fid) { if (string.IsNullOrWhiteSpace(fid)) { return(false); } FapAttachment attachment = _dataAccessor.Get <FapAttachment>(fid); if (attachment == null) { return(false); } try { FapFileInfo fileInfo = new FapFileInfo(); fileInfo.FilePath = attachment.FilePath; fileInfo.FileId = attachment.Id; string fileServiceType = attachment.SaveModel; bool deleted = GetFileService(fileServiceType).Delete(fileInfo); if (deleted) { _dataAccessor.DeleteExec("FapAttachment", "Id=" + attachment.Id); } return(true); } catch (Exception ex) { _logger.CreateLogger <FapFileService>().LogError(ex.Message); } return(false); }
public Stream GetFileStream(FapAttachment attachment) { FapFileInfo fileInfo = new FapFileInfo(); fileInfo.FilePath = attachment.FilePath; fileInfo.FileId = attachment.Id; string fileServiceType = attachment.SaveModel; return(GetFileService(fileServiceType).Download(fileInfo)); }
/// <summary> /// 上传文件 /// </summary> /// <param name="stream"></param> /// <param name="attachement"></param> /// <returns></returns> public string UploadFile(Stream stream, FapAttachment attachement) { if (stream == null || attachement == null) { return(""); } FapFileInfo fileInfo = new FapFileInfo(); fileInfo.FileSize = (attachement.FileSize == 0 ? (stream.Length / 1024) : attachement.FileSize); fileInfo.FileName = attachement.FileName; //fileInfo.FileId = ""+attachement.Id; fileInfo.FileSuffix = (string.IsNullOrWhiteSpace(attachement.FileExtension) ? Path.GetExtension(attachement.FileName) : attachement.FileExtension); attachement.FileSize = fileInfo.FileSize; attachement.FileExtension = fileInfo.FileSuffix; attachement.SaveModel = this._fileServiceType; long id = _dataAccessor.Insert <FapAttachment>(attachement); fileInfo.FileId = id; bool success = GetFileService().Upload(stream, fileInfo, (a, b) => { fileInfo.FilePath = b.FileFullName; }); if (success) { //newAttachment.FilePath = fileInfo.FilePath; //dataAccessor.EUpdate<FapAttachment>(attachement, false); _dataAccessor.Execute("update FapAttachment set FilePath=@FilePath where Id=@Id", new DynamicParameters(new { FilePath = fileInfo.FilePath, Id = id })); } else { _dataAccessor.Delete <FapAttachment>(attachement); } return(attachement.Fid); }