示例#1
0
        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());
        }
示例#2
0
        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);
        }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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));
        }