this example upload files using ftp protocol using radasync Upload.
.aspx page
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UploadToFtpSample.aspx.cs" Inherits="UploadToFtpSample" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager>
<div>
<telerik:RadAsyncUpload ID="RadAsyncUpload1" runat="server" OnFileUploaded="RadAsyncUpload1_FileUploaded"></telerik:RadAsyncUpload>
<asp:Button ID="Button1" Text="Upload" runat="server" />
</div>
</form>
</body>
</html>
Code Page.
using System;
using Telerik.Web.UI;
using System.Net;
public partial class UploadToFtpSample : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void RadAsyncUpload1_FileUploaded(object sender, Telerik.Web.UI.FileUploadedEventArgs e)
{
string ftp = "ftp://serverip:ftpPort/";
string username = "xxxxx";
string password = "xxxxxx";
UploadToFtp(e.File, ftp, username, password);
}
public void UploadToFtp(UploadedFile file, string url, string username, string password)
{
var request = (FtpWebRequest)WebRequest.Create(new Uri(url + file.FileName));
request.Timeout = 10000000;
request.ReadWriteTimeout = 10000000;
request.Method = WebRequestMethods.Ftp.UploadFile;
request.KeepAlive = false;
request.Credentials = new NetworkCredential(username, password);
request.ContentLength = file.ContentLength;
var requestStream = request.GetRequestStream();
byte[] bytes = new byte[file.InputStream.Length];
file.InputStream.Read(bytes, 0, bytes.Length);
requestStream.Write(bytes, 0, (int)file.ContentLength);
requestStream.Close();
var response = (FtpWebResponse)request.GetResponse();
if (response != null)
response.Close();
}
}
web.config Configuration
<httpRuntime executionTimeout="100000" maxRequestLength="2147483647" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true"/>
Ftp Server Configuration
.aspx page
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UploadToFtpSample.aspx.cs" Inherits="UploadToFtpSample" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager>
<div>
<telerik:RadAsyncUpload ID="RadAsyncUpload1" runat="server" OnFileUploaded="RadAsyncUpload1_FileUploaded"></telerik:RadAsyncUpload>
<asp:Button ID="Button1" Text="Upload" runat="server" />
</div>
</form>
</body>
</html>
Code Page.
using System;
using Telerik.Web.UI;
using System.Net;
public partial class UploadToFtpSample : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void RadAsyncUpload1_FileUploaded(object sender, Telerik.Web.UI.FileUploadedEventArgs e)
{
string ftp = "ftp://serverip:ftpPort/";
string username = "xxxxx";
string password = "xxxxxx";
UploadToFtp(e.File, ftp, username, password);
}
public void UploadToFtp(UploadedFile file, string url, string username, string password)
{
var request = (FtpWebRequest)WebRequest.Create(new Uri(url + file.FileName));
request.Timeout = 10000000;
request.ReadWriteTimeout = 10000000;
request.Method = WebRequestMethods.Ftp.UploadFile;
request.KeepAlive = false;
request.Credentials = new NetworkCredential(username, password);
request.ContentLength = file.ContentLength;
var requestStream = request.GetRequestStream();
byte[] bytes = new byte[file.InputStream.Length];
file.InputStream.Read(bytes, 0, bytes.Length);
requestStream.Write(bytes, 0, (int)file.ContentLength);
requestStream.Close();
var response = (FtpWebResponse)request.GetResponse();
if (response != null)
response.Close();
}
}
web.config Configuration
<httpRuntime executionTimeout="100000" maxRequestLength="2147483647" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true"/>
Ftp Server Configuration