描述:Microsoft.AspNetCore.Http.IFormFileCollection 实现附件快速上传功能代码。
上传附件代码
csharp
[Route("myUploadFile")]
[HttpPost]
public ActionResult MyUploadFile([FromForm] upLoadFile rfile)
{
string newFileName = Guid.NewGuid().ToString("N") + rfile.mingcheng;
string dirPath = Path.Combine(new string[] { Environment.CurrentDirectory, "wwwroot", "File", "FileUpload", newFileName });
if (System.IO.Directory.Exists(dirPath))
{
System.IO.Directory.CreateDirectory(dirPath);
System.Threading.Thread.Sleep(0);
}
string filePath = Path.Combine(new string[] { dirPath, newFileName });
var t = Request.Form.Files[0];
using (FileStream fs = System.IO.File.Open(filePath, FileMode.OpenOrCreate))
{
string fileName = rfile.files[0].FileName;
byte[] bs = new byte[rfile.files[0].Length];
GetPicThumbnail(rfile.files[0].OpenReadStream()).Read(bs, 0, bs.Length);
fs.Write(bs, 0, bs.Length);
fs.Close();
}
return new ObjectResult(new { code = "1", msg = "文件上传成功" });
}
upLoadFile Model类定义
csharp
public class upLoadFile
{
public string mingcheng { get; set; }
public Microsoft.AspNetCore.Http.IFormFileCollection files { get; set; }
public string miaoshu { get; set; }
}
附件下载代码:
csharp
[Route("myGetFile")]
[HttpGet]
public ActionResult MyGetFile(string id)
{
PhysicalFileResult f = new PhysicalFileResult(@"E:\work\codes\技术积累\临时\weixinshare\weixinshare\weixinshare\wwwroot\File\weixinimg\2edf0b9324cb44edaa7d73ea46ab0b15.jpg"
, "application/file");
f.FileDownloadName = "ddd.jpg";
f.EnableRangeProcessing = true;
f.LastModified = DateTimeOffset.Now;
return f;
}