C# MVC controller 上传附件及下载附件(笔记)
描述:Microsoft.AspNetCore.Http.IFormFileCollection 实现附件快速上传功能代码。upLoadFile Model类定义。
·
描述:Microsoft.AspNetCore.Http.IFormFileCollection 实现附件快速上传功能代码。
上传附件代码
[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类定义
public class upLoadFile
{
public string mingcheng { get; set; }
public Microsoft.AspNetCore.Http.IFormFileCollection files { get; set; }
public string miaoshu { get; set; }
}
附件下载代码:
[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;
}
更多推荐
已为社区贡献1条内容
所有评论(0)