1
2 public readonly IWebHostEnvironment _webHostEnvironment;
3
4 public FileController(IWebHostEnvironment webHostEnvironment)
5 {
6
7 _webHostEnvironment = webHostEnvironment;
8 }
9 /// <summary>
10 /// 上传文件
11 /// </summary>
12 /// <param name="files"></param>
13 /// <returns></returns>
14
15 public ActionResult Uploads()
16 {
17 List<TmpUrl> list = new List<TmpUrl>();
18 var files = Request.Form.Files;
19 //var a = Guid.NewGuid();
20 Random random = new Random();
21 var randomNumber = random.Next();
22 string webRootPath = _webHostEnvironment.WebRootPath;
23 var fileName = randomNumber + "-old.jpg";
24 foreach (var formFile in files)
25 {
26 if (formFile.Length > 0)
27 {
28 var filePath = Path.Combine(webRootPath + "\images", fileName);
29 using (var stream = System.IO.File.Create(filePath))
30 {
31 formFile.CopyTo(stream);
32 TmpUrl tu = new TmpUrl();
33 tu.Url = @"/images/" + fileName;
34 tu.Name = fileName;
35 list.Add(tu);
36
37 //生成缩略图:得到指定像素缩略图,图片较小
38 //long quality = 75;
39 //var thumbnailName = randomNumber + "-11.jpg";
40 //var thumbnailPath = Path.Combine(webRootPath + "\images" , thumbnailName);
41 //var originalImage = System.Drawing.Image
42 // .FromStream(stream);
43 //ImagesHelper.GetSmallImage(originalImage, thumbnailPath, 230, 160, quality, "CUT");
44
45 //生成缩略图:生成等比例高清缩略图,图片较大
46 var thumbnailName = randomNumber + "-22.jpg";
47 var thumbnailPath = Path.Combine(webRootPath + "\images", thumbnailName);
48 var originalImage = System.Drawing.Image
49 .FromStream(stream);
50 ImagesHelper.GetThumbnailImage(originalImage, 230, 160).Save(thumbnailPath);
51 }
52 }
53 }
54 return Json(list);
55 }
56
57 /// <summary>
58 /// 图片上传本地服务器
59 /// </summary>
60 /// <param name="environment"></param>
61 /// <returns></returns>
62 [HttpPost]
63 [ValidateAntiForgeryToken]
64 [Obsolete]
65 public async Task<IActionResult> OnPostUpload([FromServices] IHostingEnvironment environment)
66 {
67 List<TmpUrl> list = new List<TmpUrl>();
68 var files = Request.Form.Files;
69 string webRootPath = environment.WebRootPath;
70 string contentRootPath = environment.ContentRootPath;
71 foreach (var formFile in files)
72 {
73 if (formFile.Length > 0)
74 {
75 var fileName = Guid.NewGuid().ToString() + "-old.jpg";
76 var path = Path.Combine(environment.WebRootPath + "\images\upload", fileName);
77 using (var fs = new FileStream(path, FileMode.CreateNew))
78 {
79 await formFile.CopyToAsync(fs);
80 TmpUrl tu = new TmpUrl();
81 tu.Url = @"/images/upload/" + fileName;
82 list.Add(tu);
83
84 //生成缩略图1:生成等比例高清缩略图,图片比较大
85 var thumbnailName = Guid.NewGuid().ToString() + "-11.jpg";
86 var thumbnailPath = Path.Combine(environment.WebRootPath + "\images\upload", thumbnailName);
87 var originalImage = System.Drawing.Image.FromStream(fs);
88 ImagesHelper.GetThumbnailImage(originalImage, 230, 160).Save(thumbnailPath);
89
90 }
91 }
92 }
93
94 return new JsonResult(list);
95 }