怎么向ftp中的txt文件写入数据

时间:2022-09-21 19:11:46
要实现将页面的数据做成txt发送到ftp,怎么实现?

8 个解决方案

#1


在后台生成文件,然后ftp上传就可以了

#2


写数据先生成到本地 上传到ftp

#3


本帖最后由 net_lover 于 2011-07-21 09:26:20 编辑
ftp上传方法

ASP.NET 中将文件上传到另外一个服务器的方法二


前面的文章,我提供了一种”将文件上传到网络共享服务器的方法“,这次,我们采用FTP的方法将文件上传到另外一台服务器上。
首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了。代码如下:
ASPX 代码
<%@ Page Language="C#" EnableViewState="false"%>

<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  protected void Button1_Click(object sender, EventArgs e)
  {
    //要接收文件的 ftp 服务器地址
    String serverUri = "ftp://192.168.3.1/";
    String fileName = Path.GetFileName(FileUpload1.FileName);
    serverUri += fileName;  
    
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
    request.Method = WebRequestMethods.Ftp.AppendFile;
    request.UseBinary = true;
    request.UsePassive = true;
    
    // ftp 服务器上允许上传的用户名和密码
    request.Credentials = new NetworkCredential("upload", "upload");
    Stream requestStream = request.GetRequestStream();
    Byte[] buffer = FileUpload1.FileBytes;

    requestStream.Write(buffer, 0, buffer.Length);
    requestStream.Close();
    FtpWebResponse response = (FtpWebResponse)request.GetResponse();
    Label1.Text = response.StatusDescription;
    response.Close();
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>孟宪会之将文件上传到另外一个服务器的方法二</title>
</head>
<body>
  <form id="form1" runat="server">
  <asp:FileUpload ID="FileUpload1" runat="server" />
  <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传文件" />
  <div><asp:Label ID="Label1" runat="server" Text=""></asp:Label></div>
  </form>
</body>
</html>

#4


难道一定要生成到本地吗?有没有可能直接发送到ftp,不经过本地?

#5



requestStream.Write(buffer, 0, buffer.Length);

写的是 Byte[] buffer,你把女人的Byte写进去试试

#6


数据写入txt保存本地,ftp上传

#7


这是ftp协议本身规定的。

lz如果学习下ftp协议就明白。ftp协议是“文件传输协议”,靠一系列简单的控制命令来操作文件。并没有在线修改文件的命令。

所以无论什么语言,什么代码,都只能离线修改,再传上去。

#8


你可以使用 flashfxp 一类的软件,很直观地看到客户端如何和ftp交互。事实上也正因为这一点,ftp才变得服务器易于实现,客户端易于访问,最终在无数的协议中最终幸存下来,流传到现在。

#1


在后台生成文件,然后ftp上传就可以了

#2


写数据先生成到本地 上传到ftp

#3


本帖最后由 net_lover 于 2011-07-21 09:26:20 编辑
ftp上传方法

ASP.NET 中将文件上传到另外一个服务器的方法二


前面的文章,我提供了一种”将文件上传到网络共享服务器的方法“,这次,我们采用FTP的方法将文件上传到另外一台服务器上。
首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了。代码如下:
ASPX 代码
<%@ Page Language="C#" EnableViewState="false"%>

<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  protected void Button1_Click(object sender, EventArgs e)
  {
    //要接收文件的 ftp 服务器地址
    String serverUri = "ftp://192.168.3.1/";
    String fileName = Path.GetFileName(FileUpload1.FileName);
    serverUri += fileName;  
    
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
    request.Method = WebRequestMethods.Ftp.AppendFile;
    request.UseBinary = true;
    request.UsePassive = true;
    
    // ftp 服务器上允许上传的用户名和密码
    request.Credentials = new NetworkCredential("upload", "upload");
    Stream requestStream = request.GetRequestStream();
    Byte[] buffer = FileUpload1.FileBytes;

    requestStream.Write(buffer, 0, buffer.Length);
    requestStream.Close();
    FtpWebResponse response = (FtpWebResponse)request.GetResponse();
    Label1.Text = response.StatusDescription;
    response.Close();
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>孟宪会之将文件上传到另外一个服务器的方法二</title>
</head>
<body>
  <form id="form1" runat="server">
  <asp:FileUpload ID="FileUpload1" runat="server" />
  <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传文件" />
  <div><asp:Label ID="Label1" runat="server" Text=""></asp:Label></div>
  </form>
</body>
</html>

#4


难道一定要生成到本地吗?有没有可能直接发送到ftp,不经过本地?

#5



requestStream.Write(buffer, 0, buffer.Length);

写的是 Byte[] buffer,你把女人的Byte写进去试试

#6


数据写入txt保存本地,ftp上传

#7


这是ftp协议本身规定的。

lz如果学习下ftp协议就明白。ftp协议是“文件传输协议”,靠一系列简单的控制命令来操作文件。并没有在线修改文件的命令。

所以无论什么语言,什么代码,都只能离线修改,再传上去。

#8


你可以使用 flashfxp 一类的软件,很直观地看到客户端如何和ftp交互。事实上也正因为这一点,ftp才变得服务器易于实现,客户端易于访问,最终在无数的协议中最终幸存下来,流传到现在。