Ftp下载工具类
插件 CoreFtp,问题:LoginAsync每次登录会花费很长时间(20+秒),优化为单例模式,链接一直存在,无需每次登录
public class FTPHelper { private readonly static FtpClient ftpClient = null; static FTPHelper() { ftpClient = new FtpClient(FTPHelperConfig.FtpClientConfiguration); } public static async Task FTPUpload(string filename, IFormFile file) { if (!ftpClient.IsConnected) await ftpClient.LoginAsync(); using (var writeStream = await ftpClient.OpenFileWriteStreamAsync(filename)) { var fileReadStream = file.OpenReadStream(); await fileReadStream.CopyToAsync(writeStream); } } }
startup中ConfigureServices中赋值
FTPHelperConfig.FtpClientConfiguration = new CoreFtp.FtpClientConfiguration { Host = Configuration["FtpUpload:hostname"],// "10.0.103.126", Username = Configuration["FtpUpload:username"],//"zrhftp", Password = Configuration["FtpUpload:password"],//"zrh2019", BaseDirectory = Configuration["FtpUpload:targetDir"]//"/ftp_data/data/www/imageserve" };

浙公网安备 33010602011771号