.net 常用
1.增加跨域
在program.cs的builder定义下
// 添加 CORS 策略
builder.Services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder => builder.WithOrigins("*") // 替换为你的前端应用的实际URL
.AllowAnyMethod()
.AllowAnyHeader());
});
在program.cs的app定义下
// 使用 CORS 策略,确保策略名称一致
app.UseCors("AllowSpecificOrigin");
2.下载文件,带进度
// 文件路径
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "Files", "a.zip");
if (!System.IO.File.Exists(filePath))
{
return NotFound("File not found.");
}
// 设置响应头
var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
var fileName = Path.GetFileName(filePath);
Response.Headers.Add("Content-Disposition", $"attachment; filename={fileName}");
Response.Headers.Add("Content-Type", "application/octet-stream");
// 返回文件流
return new FileStreamResult(fileStream, "application/octet-stream")
{
EnableRangeProcessing = true // 支持断点续传和分块传输
};