| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | 
							- 
 
- using System;
 
- using System.Collections.Generic;
 
- using System.IO;
 
- using System.Linq;
 
- using System.Net.Http;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using System.Web;
 
- using System.Web.Http;
 
- using XdCxRhDW.WebApi;
 
- namespace XdCxRhDW.WebApi
 
- {
 
-     /// <summary>
 
-     ///文件上传接口
 
-     /// </summary>
 
-     public class FileController : BaseController
 
-     {
 
-         private readonly string uploadFolder;
 
-         /// <summary>
 
-         /// 
 
-         /// </summary>
 
-         public FileController()
 
-         {
 
-             this.uploadFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot");
 
-         }
 
-         /// <summary>
 
-         /// 上传文件(返回上传后的文件名)
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpPost, SwaggerForm]
 
-         public async Task<AjaxResult<string>> UploadFileAsync()
 
-         {
 
-             if (!Request.Content.IsMimeMultipartContent("form-data"))
 
-             {
 
-                 bool s = Request.Content.IsFormData();
 
-                 return Error<string>("请求数据不是form-data类型");
 
-             }
 
-             var provider = new MultipartMemoryStreamProvider();
 
-             await Request.Content.ReadAsMultipartAsync(provider);
 
-             Directory.CreateDirectory(uploadFolder);
 
-             var content = provider.Contents.First();
 
-             var fileName = Guid.NewGuid().ToString() + ".dat";
 
-             var fileData = await content.ReadAsByteArrayAsync();
 
-             // 将文件保存到本地文件夹中
 
-             var filePath = Path.Combine(uploadFolder, fileName);
 
-             if (File.Exists(filePath))
 
-             {
 
-                 Serilog.Log.Warning($"文件[{filePath}]已存在!");
 
-             }
 
-             using (var fileStream = new FileStream(filePath, FileMode.Create))
 
-             {
 
-                 await fileStream.WriteAsync(fileData, 0, fileData.Length);
 
-             }
 
-             return Success(fileName);
 
-         }
 
-         /// <summary>
 
-         /// 批量删除文件
 
-         /// </summary>
 
-         /// <param name="dto">参数文件参数模型</param>
 
-         /// <returns>返回删除成功的文件个数</returns>
 
-         [HttpPost]
 
-         public AjaxResult<int> DeleteFiles(FileDeleteDto dto)
 
-         {
 
-             if(dto.Files==null||dto.Files.Count==0)return Success(0);
 
-             int count = 0;
 
-             foreach (var fileName in dto.Files)
 
-             {
 
-                 try
 
-                 {
 
-                     var file = Path.Combine(uploadFolder, fileName);
 
-                     if (File.Exists(file))
 
-                     {
 
-                         File.Delete(file);
 
-                         count++;
 
-                     }
 
-                 }
 
-                 catch (Exception ex)
 
-                 {
 
-                     Serilog.Log.Error(ex, $"删除文件[{fileName}]失败!");
 
-                 }
 
-             }
 
-             return Success(count);
 
-         }
 
-     }
 
- }
 
 
  |