C# 以流形式返回文件
我需要在客户端发送用户id时,将其作为流返回文件。文件可以是图像、PDF、视频或声音 我正在使用以下代码:C# 以流形式返回文件,c#,asp.net,asp.net-core,C#,Asp.net,Asp.net Core,我需要在客户端发送用户id时,将其作为流返回文件。文件可以是图像、PDF、视频或声音 我正在使用以下代码: [HttpGet] public async Task<FileStreamResult> GetAvatar(int id) { var result = await mediator.Send(new FindUserWithIdCommand { userId = id }); if (result.Success) { retur
[HttpGet]
public async Task<FileStreamResult> GetAvatar(int id)
{
var result = await mediator.Send(new FindUserWithIdCommand { userId = id });
if (result.Success)
{
return uploadService.GetFileStream(result.Result.AvatarName);
}
return null;
}
但当我在postMan中发送此操作的请求时,它会显示以下结果:
问题出在哪里?我该如何解决它?您的代码正在执行它应该执行的操作。您看到的是字节码,因为Postman不支持PDF之类的本地呈现。它是文件;它只是显示为“原始”。您能解释一下问题是什么吗?你要求一份文件,你从我那里得到一份文件see@SamiKuhmonen我需要返回文件,你从我看到的文件中得到一个文件。那么这里到底有什么不起作用呢?@SamiKuhmonen我需要在这里和浏览器中显示文件,但我像文件一样下载,我需要转到下载文件夹并打开它。
public FileStreamResult GetFileStream(string FileName)
{
try
{
var stream = File.OpenRead(Path.Combine(finder.PathAvatarUserUploadFolder(), FileName));
FileStreamResult file = new FileStreamResult(stream, "application/octet-stream");
return file;
}
catch (Exception ex)
{
throw;
}
}