可以将存放生成XML文件的目录发布到IIS ,然后对方用Http请求获取XML

解决方案 »

  1.   

    对不起我没说清楚,这是桌面型程序不是Web的。
      

  2.   

    new WebClient().UploadFile("http://132.147.70.185/AVS_FilePort/Input", @"c:\\test.xml");
      

  3.   

    我用了你的代码试了一下,报错:无法连接远程服务器! try
     {
          new WebClient().UploadFile("http://132.147.70.185/AVS_FilePort/Input", @"c:\\test.xml");
          MessageBox.Show("上传成功!");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
      

  4.   

    以下是FTP传输,如果远程建立了FTP服务的话  //要上传的文件,远程FTP的IP,远程目录,用户名,密码
          public void Upload(string filename, string ftpServerIP, string dir, string ftpUserID, string ftpPassword)
          {
             
              FileInfo fileInf = new FileInfo(filename);
              string uri = "ftp://" + ftpServerIP + "/" + fileInf.Name;
              FtpWebRequest reqFTP;
              reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + dir + fileInf.Name));
              // ftp用户名和密码 
              reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
              // 根据uri创建FtpWebRequest对象 
              // 默认为true,连接不会被关闭 
              // 在一个命令之后被执行 
              reqFTP.KeepAlive = false;
              // 指定执行什么命令 
              reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
              // 指定数据传输类型 
              reqFTP.UseBinary = true;
              // 上传文件时通知服务器文件的大小 
              reqFTP.ContentLength = fileInf.Length;
              // 缓冲大小设置为2kb 
              int buffLength = 2048;
              byte[] buff = new byte[buffLength];
              int contentLen;
              // 打开一个文件流 (System.IO.FileStream) 去读上传的文件 
              FileStream fs = fileInf.OpenRead();
              try
              {
                  // 把上传的文件写入流 
                  Stream strm = reqFTP.GetRequestStream();
                  // 每次读文件流的2kb 
                  contentLen = fs.Read(buff, 0, buffLength);
                  // 流内容没有结束 
                  while (contentLen != 0)
                  {
                      // 把内容从file stream 写入 upload stream 
                      strm.Write(buff, 0, contentLen);
                      contentLen = fs.Read(buff, 0, buffLength);
                  }              // 关闭两个流 
                  strm.Close();
                  fs.Close();
                  //  MessageBox.Show("短信发送成功!!!");
              }
              catch (Exception ex)
              {
                  //   MessageBox.Show(ex.Message, "Upload Error");
              }      }
          private void FTP_Click(object sender, EventArgs e)
          {
              Upload(Application.StartupPath + @"\xml\test.xml", "100.110.120.155", "/AVS_FilePort/Input/", "user", "password");
          }
      

  5.   

    如果是共享方式传输,用copy就可                    string from = @"c:\test.xml";
                        string to = @"\\132.147.70.185\AVS_FilePort\Input\test.xml";
                        File.Copy(from, to, true);