我可以使用本地asp.net应用程序将文件上传到Azure FTP服务器,但在将应用程序发布到Azure后,它无法正常工作,显示未登录。
以下是连接到FTP服务器的代码,但部署到Azure后它不起作用。
以下是连接到FTP服务器的代码,但部署到Azure后它不起作用。
private void ExecuteRequest(string url, string action, string fileToUpload = null)
{
var request = (FtpWebRequest)WebRequest.Create(url);
request.Method = action;
request.UseBinary = true;
request.UsePassive = true;
request.KeepAlive = true;
request.Credentials = new NetworkCredential(_settings.Username, _settings.Password);
WebResponse response = null;
try
{
if (action == WebRequestMethods.Ftp.UploadFile)
{
StreamReader sourceStream = new StreamReader(fileToUpload);
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
}
response = request.GetResponse();
}
catch (WebException exp)
{
var ftpResponse = (FtpWebResponse)exp.Response;
if (request.Method== WebRequestMethods.Ftp.MakeDirectory && ftpResponse.StatusCode != FtpStatusCode.ActionNotTakenFileUnavailable)
DiosException.Throw(exp);
}
finally
{
if (response != null)
response.Close();
}
}