</
script
>
<
script
>
$
(
function
(
)
{
$
(
'#btnTestDownload'
)
.
click
(
function
(
)
{
var
host
=
'http://localhost:55992'
;
document
.
getElementById
(
'fileForm'
)
.
setAttribute
(
'action'
,
host
+
'/erpApi/LevoxErpBase/DownloadFile'
)
;
document
.
getElementById
(
'fileUrl'
)
.
value
=
'/LevoxFiles/UploadFiles/Temp/外出质检报告202102020003_20210609095346218_2.jpg'
;
document
.
getElementById
(
'fileName'
)
.
value
=
'lingbug.jpg'
;
document
.
getElementById
(
'btnDownload'
)
.
click
(
)
;
}
)
;
}
)
;
</
script
>
.Net5 WebApi中下载文件(返回FileStreamResult)WebApi CodeClient CodeWebApi Code /// <summary> /// 下载文件 LastUpdateDate:2021-07-14 18:25:03.811 Author:Lingbug /// </summary> /// <returns></returns>
MultipartFormDataContent构造参数和
文件
对象
public async Task<Action
Result
<dynamic>> UploadTestAsync()
var fileAdd = @"D:\UploadReport\
中
国调查报告-张某某(绿灯).doc";
如果我想在 ASP
.Net
Web
API
中
返回
File
文件
,我目前的做法是将 Action
返回
值设为HttpResponseMessage,参考代码如下:
publicasyncTask<HttpResponseMessage>DownloadAsync(stringid)
varresponse=newHttpResponseMessage(HttpStatusCode.OK);
response.Content=newStreamCo...
经过简单的调研,得到以下结论。
ASP
.NET
CORE 提供File
Result
这种类型的Action
Result
,可以直接
返回
文件
结果,不需要直接处理HttpResponse。
通过Stream可以直接
返回
...
MVC
中
Action
Result
是Action的
返回
结果。Action
Result
有多个派生类,每个子类功能均不同,并不是所有的子类都需要
返回
视图View,有些直接
返回
流,有些
返回
字符串等。Action
Result
是一个抽象类,它定义了唯一的Execute
Result
方法,参数为一个ControllerContext,下面为您介绍MVC
中
的Action
Result
的用法
二、什么...
在项目
中
用到
文件
下载
功能,用的是
FileStream
Result
方法:
return File(new
FileStream
(path, FileMode.Open), Utilities.MimeType(fileName), fileName);
下载
普通
文件
都正常,测试时发现
下载
含有
中
文名的word和excel
文件
时直接
返回
了方法的名称,后来查了很多资料,终于找到解决办...
使用ASP
.NET
MVC 3 RC2 的时候发现,这样的代码在一些情况下总是无法
返回
正确的结果(理论上来说前几个版本也存在这种可能):
MemoryStreamms=xxxx;//图片类型returnFile(ms,"image/jpeg");
跟踪了一下File的结果,确实已经有数据,但是无法在页面上
返回
(此时File重写方法
返回
的是FileSreamResu...
//写入到响应流
smallimg.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
//保存到本地
smallimg.Save(context.Reques...
在
.NET
Core
Web
API
中
,
文件
下载
可以通过设置controller的response类型来完成。在controller方法
中
,使用File方法指定需要
下载
的
文件
路径和
下载
后的
文件
名等信息,然后将其作为response
返回
即可。例如:
[HttpGet]
public IAction
Result
DownloadFile()
var filePath = "path/to/file";
var fileName = "file name";
return File(filePath, "application/octet-stream", fileName);
其
中
,第一个参数是
文件
路径,第二个参数是MIME类型,这里设置为“application/octet-stream”表示二进制流,第三个参数是
文件
名称。
返回
的
文件
会自动被
下载
到本地磁盘上。
WebApi过滤器:AuthorizationFilterAttribute -> ActionFilterAttribute -> ExceptionFilterAttribute