ASP.NET 中將檔案上傳到另外一個伺服器的方法二

臭小子小豆豆發表於2010-10-14
前面的文章,我提供了一種”將檔案上傳到網路共享伺服器的方法“,這次,我們採用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>

 

相關文章