【发布时间】:2021-12-07 10:53:04
【问题描述】:
我最近开发了一个 .NET Web 应用程序,它可以从我们网络上的某个特定位置下载 zip 文件。我通过检索内容流然后通过返回 File() 将其传递回视图来做到这一点。
来自 .NET Web 应用程序的代码我想模仿谁的行为:
public async Task<ActionResult> Download()
{
try
{
HttpContent content = plan.response.Content;
var contentStream = await content.ReadAsStreamAsync(); // get the actual content stream
if (plan.contentType.StartsWith("image") || plan.contentType.Contains("pdf"))
return File(contentStream, plan.contentType);
return File(contentStream, plan.contentType, plan.PlanFileName);
}
catch (Exception e)
{
return Json(new { success = false });
}
}
plan.response 在单独的方法中构建,然后存储为 Session 变量,以便特定于用户,然后在此处访问以进行下载。
我现在正在开发一个需要能够从同一位置访问和下载这些文件的 Windows 窗体应用程序。我能够检索响应内容,但我不知道如何继续以在 Windows 窗体应用程序中下载 zip。
有没有办法,从接收内容流,我可以在 Windows 窗体应用程序中使用类似的方法下载这个文件?这会很方便,因为访问文件最初需要登录并验证用户身份,因此仅使用文件路径无法正常访问。
【问题讨论】:
标签: c# visual-studio winforms file-io system.net