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

具体是转译字符的关系。

posted on 2013-05-06 11:27  空白画映  阅读(2029)  评论(0编辑  收藏  举报

导航