1

How to upload multiple file to FTP in ASP.NET MVC?

With component or other ...

string path = Server.MapPath("~/Image/");

HttpFileCollectionBase MyFileCollection = Request.Files;
HttpPostedFileBase MyFile;
int i ;
int j = MyFileCollection.Count;
int FileLen;
Stream MyStream;

for(i = 0; i < j; i++)
{
    MyFile = MyFileCollection[i];

    FileLen = MyFile.ContentLength;
    byte[] input = new byte[FileLen];

    MyStream = MyFile.InputStream;

    MyStream.Read(input, 0, FileLen);

    for (int Loop = 0; Loop < FileLen; Loop++)
    {
        MyString = path + input[Loop].ToString();
    }
    MyFileCollection[i].SaveAs(MyString + ".jpg");
}
Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992

1 Answers1

0

For example using FtpWebRequest.GetRequestStream:

foreach (HttpPostedFileBase file in Request.Files)
{
    string url = "ftp://example.com/" + Path.GetFileName(file.FileName);
    FtpWebRequest request = FtpWebRequest)WebRequest.Create(url);
    request.Method = WebRequestMethods.Ftp.UploadFile;
    request.Credentials = new NetworkCredential("username", "password");

    using (Stream requestStream = request.GetRequestStream())
    {
        file.InputStream.CopyTo(requestStream);
    }
}

Based on Upload a file to an FTP server from a string or stream.

Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992