|
[AcceptVerbs("Post")]
[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.Bare)]
public HttpResponseMessage FtpImport()
{
string fileName = "sample.xlsx";
//FTP Server URL
string ftp = "ftp://ftpserver.com/";
try
{
//Create FTP Request
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftp + fileName);
request.Method = WebRequestMethods.Ftp.DownloadFile;
//Enter the FTP Server credentials
request.Credentials = new NetworkCredential("Username", "Password");
//Fetch the Response and read it into a MemoryStream object.
ImportRequest importRequest = new ImportRequest();
importRequest.FileStream = new MemoryStream();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.GetResponseStream().CopyTo(importRequest.FileStream);
//Reset stream reader position
importRequest.FileStream.Position = 0;
string spreadsheetData = Spreadsheet.Open(importRequest);
return new HttpResponseMessage() { Content = new StringContent(spreadsheetData, Encoding.UTF8, "text/plain") };
}
catch (WebException ex)
{
throw new Exception((ex.Response as FtpWebResponse).StatusDescription);
}
}
|