千家信息网

C#怎么把文件上传到服务器中的指定地址

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍了C#怎么把文件上传到服务器中的指定地址的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么把文件上传到服务器中的指定地址文章都会有所收获,下面我们一起
千家信息网最后更新 2025年11月07日C#怎么把文件上传到服务器中的指定地址

这篇文章主要介绍了C#怎么把文件上传到服务器中的指定地址的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么把文件上传到服务器中的指定地址文章都会有所收获,下面我们一起来看看吧。

一、建立连接

        public string connectFTP(string vPath, string vUID, string vPassword)        {            string errormsg = "";           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 " + vPath + " " + vPassword + " /user:" + vUID;                proc.StandardInput.WriteLine(dosLine);                proc.StandardInput.WriteLine("exit");                while (!proc.HasExited)                {                    proc.WaitForExit(1000);                }                errormsg = proc.StandardError.ReadToEnd();                proc.StandardError.Close();            }            catch (Exception ex)            {                //throw ex;                //MessageBox.Show(ex.Message);            }            finally            {                proc.Close();                proc.Dispose();            }            return errormsg;        }

二、上传文件

        public void UploadFile(string vPath, string vUID, string vPassword, string vLocalPath, string file)        {            bool status = false;            status = connectState(vPath, vUID, vPassword);            if (status)            {                DirectoryInfo theFolder = new DirectoryInfo(vPath + "/" + file);                string filename = vLocalPath;                Transport(vLocalPath, vPath + "/" + file);                //System.Diagnostics.Process.Start(vPath);            }            else            {                mesLog.Info("未能连接!");                //MessageBox.Show("未能连接!");            }        }

三、连接状态

        public static bool connectState(string vPath, string vUID, string vPassword)        {            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 " + vPath + " " + vPassword + " /user:" + vUID;                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;                //MessageBox.Show(ex.Message);            }            finally            {                proc.Close();                proc.Dispose();            }            return Flag;        }

四、传送

        public static void Transport(string src, string fileName)        {            FileStream inFileStream = new FileStream(src, FileMode.Open);            FileStream outFileStream = new FileStream(fileName, 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();            File.Delete(src);        }

关于"C#怎么把文件上传到服务器中的指定地址"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"C#怎么把文件上传到服务器中的指定地址"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

0