首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET中返回FTP文件流信息如何关闭资源?

ASP.NET中返回FTP文件流信息如何关闭资源?

提问于 2019-06-26 12:05:29
回答 0关注 0查看 284

需求:返回Ftp上的文件给前端下载,由于安全考虑,不返回文件地址路径

我的代码(ASP.NET WebApi):

public IHttpActionResult Get()

{

string username = "ftpuser";

string password = "1";

try

{

FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create("**");

ftp.Credentials = new NetworkCredential(username, password);

ftp.Method = WebRequestMethods.Ftp.DownloadFile;

ftp.UseBinary = true;

ftp.UsePassive = false;

WebResponse response = ftp.GetResponse();

Stream ftpStream = response.GetResponseStream();

//response.Close();

return new FtpFileStreamResult(ftpStream, "application/vnd.ms-excel", "2019.xlsx");

}

catch (Exception ex)

{

throw ex;

}

}

由于不想将请求Ftp的文件转为byte[](文件过大占用内存),也不想将Ftp的文件先保存到本地(效率有影响),想直接返回ftp的流信息,自定义了FtpFileStreamResult,请求会自动处理关闭Stream,但是WebResponse在此处关闭确有影响(注释部分),导致无法下载,请求会不断重试。请问这样做不可行吗?或者我应该如何关闭Ftp响应连接?

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档