C# Winform WebClient上传文件至服务器

  /// <summary>

        /// WebClient上传文件至服务器

        /// </summary>

        /// <param name="localFilePath">文件名,全路径格式</param>

        /// <param name="serverFolder">服务器文件夹路径</param>

        /// <returns></returns>

        public static bool UploadFile(string localFilePath, string serverFolder)

        {

            string uriString;

            // 得到文件名,文件扩展名字,服务器路径

            uriString = serverFolder + localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1);

          

            // 创建WebClient实例

            WebClient myWebClient = new WebClient();

            myWebClient.Credentials = CredentialCache.DefaultCredentials;



            // 要上传的文件

            FileStream fs = new FileStream(localFilePath, FileMode.Open, FileAccess.Read);

            BinaryReader r = new BinaryReader(fs);

            try

            {

                //使用UploadFile方法可以用下面的格式

                byte[] postArray = r.ReadBytes((int)fs.Length);

                Stream postStream = myWebClient.OpenWrite(uriString, "PUT");

                if (postStream.CanWrite)

                {

                    postStream.Write(postArray, 0, postArray.Length);

                }

                else

                {

                    MessageBox.Show("文件目前不可写!");

                }

                postStream.Close();

            }

            catch

            {

                MessageBox.Show("文件上传失败,请稍候重试~");

                return false;

            }



            return true;

        }

服务器路径 http://192.168.0.141/UpImage/

本地文件路径是绝对路径

在操作系统中路径是 如D:\123\abc.txt

开发环境中断点取得的路径就是 D:\\123\\abc.txt

具体是转译字符的关系。

你可能感兴趣的:(WinForm)