0
|
1 using System;
|
|
2 using System.IO;
|
|
3 using Microsoft.AspNetCore.Mvc;
|
|
4 using Microsoft.AspNetCore.Http;
|
|
5 using Microsoft.AspNetCore.Hosting;
|
|
6
|
|
7 namespace Grille2.Controllers
|
|
8 {
|
|
9 public partial class UploadController : Controller
|
|
10 {
|
|
11 private readonly IWebHostEnvironment environment;
|
|
12
|
|
13 public UploadController(IWebHostEnvironment environment)
|
|
14 {
|
|
15 this.environment = environment;
|
|
16 }
|
|
17
|
|
18 // Single file upload
|
|
19 [HttpPost("upload/single")]
|
|
20 public IActionResult Single(IFormFile file)
|
|
21 {
|
|
22 try
|
|
23 {
|
|
24 // Put your code here
|
|
25 return StatusCode(200);
|
|
26 }
|
|
27 catch (Exception ex)
|
|
28 {
|
|
29 return StatusCode(500, ex.Message);
|
|
30 }
|
|
31 }
|
|
32
|
|
33 // Multiple files upload
|
|
34 [HttpPost("upload/multiple")]
|
|
35 public IActionResult Multiple(IFormFile[] files)
|
|
36 {
|
|
37 try
|
|
38 {
|
|
39 // Put your code here
|
|
40 return StatusCode(200);
|
|
41 }
|
|
42 catch (Exception ex)
|
|
43 {
|
|
44 return StatusCode(500, ex.Message);
|
|
45 }
|
|
46 }
|
|
47
|
|
48 // Multiple files upload with parameter
|
|
49 [HttpPost("upload/{id}")]
|
|
50 public IActionResult Post(IFormFile[] files, int id)
|
|
51 {
|
|
52 try
|
|
53 {
|
|
54 // Put your code here
|
|
55 return StatusCode(200);
|
|
56 }
|
|
57 catch (Exception ex)
|
|
58 {
|
|
59 return StatusCode(500, ex.Message);
|
|
60 }
|
|
61 }
|
|
62
|
|
63 // Image file upload (used by HtmlEditor components)
|
|
64 [HttpPost("upload/image")]
|
|
65 public IActionResult Image(IFormFile file)
|
|
66 {
|
|
67 try
|
|
68 {
|
|
69 var fileName = $"{Guid.NewGuid()}{Path.GetExtension(file.FileName)}";
|
|
70
|
|
71 using (var stream = new FileStream(Path.Combine(environment.WebRootPath, fileName), FileMode.Create))
|
|
72 {
|
|
73 // Save the file
|
|
74 file.CopyTo(stream);
|
|
75
|
|
76 // Return the URL of the file
|
|
77 var url = Url.Content($"~/{fileName}");
|
|
78
|
|
79 return Ok(new { Url = url });
|
|
80 }
|
|
81 }
|
|
82 catch (Exception ex)
|
|
83 {
|
|
84 return StatusCode(500, ex.Message);
|
|
85 }
|
|
86 }
|
|
87 }
|
|
88 }
|