You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Function部署至Azure后上传文件到FTP返回530未登录错误问询

Azure Function部署后上传FTP服务器报错问题

我正在尝试通过Azure Function将文件上传至FTP服务器,程序会从Azure文件共享中读取目标文件再执行上传,逻辑较为简单。

byte[] fileContents;
using (var memoryStream = new MemoryStream())
{
    await file.DownloadToStreamAsync(memoryStream);
    fileContents = memoryStream.ToArray();
}

FtpWebRequest request = (FtpWebRequest)WebRequest.Create($"ftp://{ftpAddress}/{fileName}");
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(ftpUser, ftpPassword);
request.ContentLength = fileContents.Length;

using (Stream requestStream = request.GetRequestStream())
{
    requestStream.Write(fileContents, 0, fileContents.Length);
}

using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{
    log.LogInformation("HTTP triggered function executed successfully");
    return new OkObjectResult($"File uploaded successfully on the FTP - response from the server: {response.StatusCode} - {response.StatusDescription}");
}

该程序在本地运行Azure Function时一切正常,但部署到Azure上运行时就会报错。
我已经尝试了多种方案,包括调整UsePassive参数等,但均未生效。我注意到密码中包含"@"符号,怀疑需要做转义处理但不清楚具体实现方式,恳请大家帮忙解答,谢谢。

@补充1
我更换为无特殊字符的纯文本密码测试,问题仍然存在...

@补充2
我改用FluentFTP连接同一FTP服务器,同样返回530错误,提示"login incorrect(登录失败)"。随后我更换了另一个FTP服务器测试,两种上传方式均能正常运行。请问可能是哪些登录相关的问题导致该报错?原FTP的账号密码包含中划线、下划线,是否会是诱因?

@已解决
我没有修改任何代码,仅更换了另一台FTP服务器测试,哪怕新服务器的账号密码也包含特殊字符,也能正常运行。感谢大家的帮助: )


内容的提问来源于stack exchange,提问作者MatDDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 08:15:00