ASPNET 下载共享文件

2018-11-13 07:34:17来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

执行

        public static void Run()
        {
            var state = ConnectState(@"\\192.168.10.160\excel\", "fish", "12345");
            if (state)
            {
                //    共享文件夹的目录  
                TransportRemoteToLocal(@"\\192.168.10.160\excel\1ff79391090d4e8fa507ada85bae31ec.xlsx", @"D:\Fish-a1.xlsx");
            }
        }

链接

/// <summary>  
        /// 连接远程共享文件夹  
        /// </summary>  
        /// <param name="path">远程共享文件夹的路径</param>  
        /// <param name="userName">用户名</param>  
        /// <param name="passWord">密码</param>  
        /// <returns></returns>  
        public static bool ConnectState(string path, string userName, string passWord)
        {
            bool Flag = false;
            Process proc = new Process();
            try
            {
                proc.StartInfo.FileName = "cmd.exe";
                proc.StartInfo.UseShellExecute = false;
                proc.StartInfo.RedirectStandardInput = true;
                proc.StartInfo.RedirectStandardOutput = true;
                proc.StartInfo.RedirectStandardError = true;
                proc.StartInfo.CreateNoWindow = true;
                proc.Start();
                string dosLine = "net use " + path + " " + passWord + " /user:" + userName;
                proc.StandardInput.WriteLine(dosLine);
                proc.StandardInput.WriteLine("exit");
                while (!proc.HasExited)
                {
                    proc.WaitForExit(1000);
                }
                string errormsg = proc.StandardError.ReadToEnd();
                proc.StandardError.Close();
                if (string.IsNullOrEmpty(errormsg))
                {
                    Flag = true;
                }
                else
                {
                    throw new Exception(errormsg);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                proc.Close();
                proc.Dispose();
            }
            return Flag;
        }

下载

/// <summary>  
        /// 从远程服务器下载文件到本地  
        /// </summary>  
        /// <param name="saveSrc">保存到本地的路径:下载到本地后的文件路径,包含文件的扩展名</param>  
        /// <param name="sourceSrc">远程服务器路径(共享文件夹路径)+ 远程服务器(共享文件夹)中的文件名称,包含扩展名</param>  
        public static void TransportRemoteToLocal(string sourceSrc, string saveSrc)
        {
            //  远程服务器文件  此处假定远程服务器共享文件夹下确实包含本文件,否则程序报错 
            if (!File.Exists(sourceSrc))
                return; 
            FileStream inFileStream = File.OpenRead(sourceSrc);
            //  从远程服务器下载到本地的文件  
            FileStream outFileStream = new FileStream(saveSrc, FileMode.OpenOrCreate);
            byte[] buf = new byte[inFileStream.Length];
            int byteCount;
            while ((byteCount = inFileStream.Read(buf, 0, buf.Length)) > 0)
            {
                outFileStream.Write(buf, 0, byteCount);
            }
            inFileStream.Flush();
            inFileStream.Close();
            outFileStream.Flush();
            outFileStream.Close();
        }

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:ASPNET 文件批量下载

下一篇:ASPNET 时间字符串转换