public void DeleteUploadFileByID(int objectTypeId, int ID) { UploadFileInfo existingInfo = this.fileDao.GetFileByID(objectTypeId, ID); if (existingInfo == null) { return; } this.fileDao.DeleteFileByID(objectTypeId, existingInfo.ID); FileUtil.DeleteFile(ObjectTypes.GetFileFolder(objectTypeId), existingInfo.GetFileName()); }
public UploadFileInfo SaveUploadFile(UploadFileInfo info) { info.FileName = new FileInfo(info.FileName).Name; if (info.ID > 0) { UploadFileInfo existingInfo = this.fileDao.GetFileByID(info.ObjectTypeId, info.ID); FileUtil.DeleteFile(ObjectTypes.GetFileFolder(info.ObjectTypeId), existingInfo.GetFileName()); fileDao.UpdateFile(info.ObjectTypeId, info); } else { info = fileDao.AddFile(info.ObjectTypeId, info); } byte[] fileContent = Convert.FromBase64String(info.FileContent); FileUtil.SaveFile(fileContent, ObjectTypes.GetFileFolder(info.ObjectTypeId), info.GetFileName()); return(info); }
/// <summary> /// 下载附件 /// </summary> /// <param name="objectTypeId">附件对象类型ID</param> /// <param name="id">附件编号</param> /// <returns>附件信息</returns> public ActionResult DownloadUploadFile(int objectTypeId, int id) { if (CheckSession(false) == false) { return(Json(ResultModelBase.CreateTimeoutModel(), JsonRequestBehavior.AllowGet)); } if (CheckSessionID() == false) { return(Json(ResultModelBase.CreateLogoutModel(), JsonRequestBehavior.AllowGet)); } try { if (id < 0) { UploadFileInfo file = GetUploadFileInSession(id); string fileName = new FileInfo(file.FileName).Name; byte[] fileContent = Convert.FromBase64String(file.FileContent); return(File(fileContent, System.Web.MimeMapping.GetMimeMapping(fileName), fileName)); } else { string filePath = null; UploadFileInfo file = this.fileDao.GetFileByID(objectTypeId, id); filePath = Path.Combine(ObjectTypes.GetFileFolder(objectTypeId), file.GetFileName()); Response.AddHeader("Set-Cookie", "fileDownload=true; path=/"); file.FileName = this.fileManager.GetDownloadFileName(file); return(File(filePath, System.Web.MimeMapping.GetMimeMapping(file.FileName), file.FileName)); } } catch (Exception ex) { NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message); } return(null); }
/// <summary> /// 通过附件编号下载请求附件 /// </summary> /// <param name="id">附件编号</param> /// <param name="userID">用户ID</param> /// <param name="sessionID">当前请求所在设备储存的SessionID</param> /// <returns>下载请求附件返回编码</returns> public JsonResult DownloadUploadFile(int userID, string sessionID, int id) { ServiceResultModel <string> response = new ServiceResultModel <string>(); try { if (!CheckSessionID(userID, sessionID, response)) { return(MyJson(response, JsonRequestBehavior.AllowGet)); } UploadFileInfo file = this.fileDao.GetFileByID(ObjectTypes.Request, id); if (file == null) { response.SetFailed(ResultCodes.ParameterError, "找不到上传文件"); } else { string path = Path.Combine(Constants.RequestFolder, file.GetFileName()); if (!System.IO.File.Exists(path)) { response.SetFailed(ResultCodes.ParameterError, "找不到上传文件"); } else { byte[] arr = System.IO.File.ReadAllBytes(path); response.Data = Convert.ToBase64String(arr); } } } catch (Exception ex) { NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message); response.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage); } return(MyJson(response, JsonRequestBehavior.AllowGet)); }