コード例 #1
0
ファイル: UtilsHelper.cs プロジェクト: klnstp7/Instrument
        /// <summary>
        /// 删除服务器上文件
        /// </summary>
        /// <param name="webFileServer"></param>
        /// <param name="fileName">虚拟路径 或 物理路径 地址</param>
        /// <param name="targetServer"></param>
        public static void DeleteServerFile(string webFileServer, string fileName, UtilConstants.ServerType targetServer)
        {
            if (string.IsNullOrWhiteSpace(fileName))
            {
                return;
            }

            switch (targetServer)
            {
            case UtilConstants.ServerType.WebFileService:
                if (string.IsNullOrWhiteSpace(webFileServer))
                {
                    return;
                }

                WebDAVFileServer dav = GetWebDAVServer(webFileServer);
                dav.DeleteFile(fileName);

                break;

            case UtilConstants.ServerType.WebService:
                string physicsPath = CommonUtils.GetPhysicsPath(fileName);
                System.IO.File.Delete(physicsPath);
                break;

            case UtilConstants.ServerType.FTPService:
                break;

            default:
                break;
            }
        }
コード例 #2
0
        /// <summary>
        /// 文件下载
        /// </summary>
        /// <param name="fileId">文件Id</param>
        public void DownLoad(string fileId)
        {
            fileId = UtilsHelper.Decrypt(fileId);
            AttachmentModel fileMode = ServiceProvider.AttachmentService.GetById(int.Parse(fileId));

            UtilConstants.ServerType type = (UtilConstants.ServerType)fileMode.FileServerType;
            UtilsHelper.FileDownload(fileMode.FileAccessPrefix, fileMode.FileVirtualPath, fileMode.FileName, (UtilConstants.ServerType)fileMode.FileServerType);
        }
コード例 #3
0
ファイル: UtilsHelper.cs プロジェクト: klnstp7/Instrument
        public static void DeleteServerFile(string fileName, UtilConstants.ServerType targetServer)
        {
            switch (targetServer)
            {
            case UtilConstants.ServerType.WebFileService:
                WebDAVFileServer dav = GetWebDAVServer("");
                dav.DeleteFile(fileName);

                break;

            case UtilConstants.ServerType.WebService:
                break;

            case UtilConstants.ServerType.FTPService:
                break;

            default:
                break;
            }
        }
コード例 #4
0
ファイル: UtilsHelper.cs プロジェクト: klnstp7/Instrument
        /// <summary>
        /// 客户端文件下载
        /// </summary>
        /// <param name="webFileServer"></param>
        /// <param name="filePath">文件虚拟路径地址</param>
        /// <param name="targetServer"></param>
        /// <returns></returns>
        public static Stream FileDownload(string webFileServer, string filePath, UtilConstants.ServerType targetServer)
        {
            Stream input = null;

            switch (targetServer)
            {
            case UtilConstants.ServerType.WebFileService:
                WebDAVFileServer dav = GetWebDAVServer(webFileServer);
                input = dav.DownLoadFile(filePath);
                break;

            case UtilConstants.ServerType.WebService:
                input = new FileStream(ToolsLib.Utility.WebUtils.Resulve(filePath), FileMode.Open, FileAccess.Read, FileShare.Read);
                break;

            default:
                break;
            }
            return(input);
        }
コード例 #5
0
ファイル: UtilsHelper.cs プロジェクト: klnstp7/Instrument
        /// <summary>
        /// 文件上传
        /// </summary>
        /// <param name="webFileServer">当文件服务器发生变更,必须指定旧的文件服务器地址</param>
        /// <param name="inputStream">输入流</param>
        /// <param name="sourceFileName">待上传文件名称</param>
        /// <param name="targetFileName">文件虚拟路径地址</param>
        /// <param name="targetServer"></param>
        /// <returns></returns>
        public static AttachmentModel FileUpload(string webFileServer, System.IO.Stream inputStream, string sourceFileName, string targetFileName, UtilConstants.ServerType targetServer)
        {
            ToolsLib.FileService.WebDAVFileServer webDav;

            string newFileName = targetFileName;

            if (string.IsNullOrEmpty(targetFileName))
            {
                newFileName += string.Format("{0}{1}", StrUtils.GetUniqueFileName(null), Path.GetExtension(sourceFileName));
            }
            if (Path.GetExtension(targetFileName) == "")
            {
                newFileName = string.Format("{0}{1}", targetFileName, Path.GetFileName(sourceFileName));
            }
            //if (!string.IsNullOrEmpty(targetFileName) && Path.GetExtension(targetFileName) == "")
            //    newFileName += string.Format("{0}{1}", StrUtils.GetUniqueFileName(null), Path.GetExtension(sourceFileName));
            AttachmentModel attachment = new AttachmentModel();

            attachment.FileSize         = Convert.ToInt32(inputStream.Length);
            attachment.FileName         = Path.GetFileNameWithoutExtension(sourceFileName);
            attachment.FileServerType   = (int)targetServer;
            attachment.FileVirtualPath  = newFileName;
            attachment.FileAccessPrefix = webFileServer;
            attachment.UserName         = "";
            attachment.ServerIP         = "";
            attachment.Remark           = "";

            if (HttpContext.Current != null)
            {
                UserModel user = HttpContext.Current.Session["LoginUser"] as UserModel;
                if (user != null)
                {
                    attachment.UserName = user.UserName;
                    attachment.UserId   = user.UserId;
                }
            }

            //Hashtable ht = new Hashtable();
            //ht.Add("FileSize", Convert.ToInt32(inputStream.Length));
            //ht.Add("FileName", Path.GetFileNameWithoutExtension(sourceFileName));
            //ht.Add("FileServerType", (int)targetServer);
            //ht.Add("ServerIP", "");
            //ht.Add("FileAccessPrefix", "");
            //ht.Add("FileVirtualPath", newFileName);
            //ht.Add("UserId", 0);
            //ht.Add("UserName", "");
            //ht.Add("Remark", "");

            switch (targetServer)
            {
            case UtilConstants.ServerType.WebFileService:
                //if (string.IsNullOrWhiteSpace(webFileServer))
                //    ht["FileAccessPrefix"] = WebUtils.GetSettingsValue("WebFileServer");
                //else
                //ht["FileAccessPrefix"] = webFileServer;
                attachment.FileVirtualPath = attachment.FileVirtualPath.Replace("\\", "/");
                webDav = GetWebDAVServer(webFileServer);
                webDav.UploadFile(inputStream, attachment.FileVirtualPath);
                break;

            case UtilConstants.ServerType.WebService:
                attachment.FileAccessPrefix = "";
                attachment.FileVirtualPath  = ToolsLib.FileService.WebServer.UpLoadFile(inputStream, targetFileName);
                attachment.FileVirtualPath  = attachment.FileVirtualPath.Replace(ToolsLib.Utility.WebUtils.Resulve("/"), "/").Replace("\\", "/");
                break;

            case UtilConstants.ServerType.FTPService:
                attachment.ServerIP = WebUtils.GetSettingsValue("FtpHost");
                break;

            default:
                break;
            }

            return(attachment);
        }
コード例 #6
0
ファイル: UtilsHelper.cs プロジェクト: klnstp7/Instrument
 /// <summary>
 /// 文件上传
 /// </summary>
 /// <param name="inputStream">输入流</param>
 /// <param name="sourceFileName">待上传文件名称</param>
 /// <param name="targetFileName">文件虚拟路径地址</param>
 /// <param name="targetServer"></param>
 /// <returns></returns>
 public static AttachmentModel FileUpload(System.IO.Stream inputStream, string sourceFileName, string targetFileName, UtilConstants.ServerType targetServer)
 {
     return(FileUpload(WebUtils.GetSettingsValue("WebFileServer"), inputStream, sourceFileName, targetFileName, targetServer));
 }
コード例 #7
0
ファイル: UtilsHelper.cs プロジェクト: klnstp7/Instrument
        /// <summary>
        /// 文件上传
        /// </summary>
        /// <param name="webFileServer">当文件服务器发生变更,必须指定旧的文件服务器地址</param>
        /// <param name="sourceFileName">源文件物理地址</param>
        /// <param name="targetFileName">文件虚拟路径地址</param>
        /// <param name="targetServer"></param>
        /// <returns></returns>
        public static AttachmentModel FileUpload(string webFileServer, string sourceFileName, string targetFileName, UtilConstants.ServerType targetServer)
        {
            FileStream      fs   = new FileStream(sourceFileName, FileMode.Open, FileAccess.Read);
            AttachmentModel atta = FileUpload(webFileServer, fs, sourceFileName, targetFileName, targetServer);

            fs.Close();
            fs.Dispose();

            return(atta);
        }
コード例 #8
0
ファイル: UtilsHelper.cs プロジェクト: klnstp7/Instrument
 /// <summary>
 /// 文件上传
 /// </summary>
 /// <param name="webFileServer">当文件服务器发生变更,必须指定旧的文件服务器地址</param>
 /// <param name="postFile"></param>
 /// <param name="targetFileName">文件虚拟路径地址</param>
 /// <param name="targetServer"></param>
 /// <returns></returns>
 public static AttachmentModel FileUpload(string webFileServer, HttpPostedFileBase postFile, string targetFileName, UtilConstants.ServerType targetServer)
 {
     return(FileUpload(webFileServer, postFile.InputStream, postFile.FileName, targetFileName, targetServer));
 }
コード例 #9
0
ファイル: UtilsHelper.cs プロジェクト: klnstp7/Instrument
 /// <summary>
 /// 文件上传
 /// </summary>
 /// <param name="postFile"></param>
 /// <param name="targetFileName">文件虚拟路径地址</param>
 /// <param name="targetServer"></param>
 /// <returns></returns>
 public static AttachmentModel FileUpload(HttpPostedFileBase postFile, string targetFileName, UtilConstants.ServerType targetServer)
 {
     return(FileUpload(WebUtils.GetSettingsValue("WebFileServer"), postFile, targetFileName, targetServer));
 }
コード例 #10
0
ファイル: UtilsHelper.cs プロジェクト: klnstp7/Instrument
        /// <summary>
        /// 客户端文件下载
        /// </summary>
        /// <param name="webFileServer">可以为空,web文件服务器文件访问前缀,从web服务器下载</param>
        /// <param name="filePath">文件虚拟路径地址</param>
        /// <param name="newFileName">客户端显示文件名</param>
        /// <param name="targetServer"></param>
        public static void FileDownload(string webFileServer, string filePath, string newFileName, UtilConstants.ServerType targetServer)
        {
            string fileExtension        = Path.GetExtension(filePath);
            string newFileNameExtension = Path.GetExtension(newFileName);

            //newFileName无后缀名或带有点号但却无后缀名
            if (string.IsNullOrWhiteSpace(newFileNameExtension) || fileExtension != newFileNameExtension)
            {
                newFileName = newFileName + fileExtension;
            }
            newFileName = newFileName.Replace(" ", "_").Replace(",", "_");

            using (Stream input = FileDownload(webFileServer, filePath, targetServer))
            {
                WebServer.DownLoadFile(input, newFileName);
            }
        }