c# 局域网下载文件 登陆

来源:互联网 发布:淘宝助理5.7.9 编辑:程序博客网 时间:2024/04/27 07:32

在一台服务器上登陆,但还不能确定局域网里的服务器是否存在要下载的文件。具体方法:设置共享,在已经登陆的机器上设置好用户名密码,就可以下载了。如果不用net share,会提示用户名密码错误,之所以用net share,是因为windows 的File.Exists 不支持局域网判断文件是否存在,登陆后,就可以判断了。


            Process prc = new Process();            prc.StartInfo.FileName = @"cmd.exe";            prc.StartInfo.UseShellExecute = false;            prc.StartInfo.RedirectStandardInput = true;            prc.StartInfo.RedirectStandardOutput = true;            prc.StartInfo.RedirectStandardError = true;            prc.StartInfo.CreateNoWindow = false;            prc.Start();            string cmd = @"net use \\***** ""*****"" /user:""*****""";            prc.StandardInput.WriteLine(cmd);            string filePath = @"\\*****" + @lbtnAttachment.CommandArgument;//路径                    if (!File.Exists(filePath))            {                prc.StandardInput.WriteLine(@"net use \\***** ""*****"" /user:""*****""");                filePath = @"\\*****" + @lbtnAttachment.CommandArgument;            }            prc.StandardInput.Close();            FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);            if (fs == null)                return;            byte[] bytes = new byte[(int)fs.Length];            fs.Read(bytes, 0, bytes.Length);            fs.Close();            Response.ContentType = "application/octet-stream";            //通知浏览器下载文件而不是打开            Response.AddHeader("Content-Disposition", "attachment;  filename=" + HttpUtility.UrlEncode(lbtnAttachment.Text, System.Text.Encoding.UTF8));            Response.BinaryWrite(bytes);            Response.Flush();            Response.End();




0 0
原创粉丝点击