文件上传功能添加,注意使用Path.Combine处理通用路径问题(windows||docker)

This commit is contained in:
owenchen committed 2026-09-03 16:09:54 +08:00
1 parent 7817c5374c
commit 244b59a3fb
135 files changed
+16937 -75

No files matched your search

@@ -0,0 +1,195 @@
using CloudBuilder.Core.DatabaseAccessor;
using CloudBuilder.Core.Policy;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Transactions;
using CloudBuilder.Core.Service;
using CloudBuilder.Master.Service;
using CloudBuilder.Core.DatabaseAccessor.Entity;
using Microsoft.AspNetCore.Http;
using CloudBuilder.Master.Entity;
using System;
using CloudBuilder.Master.Data;
using CloudBuilder.Master.SearchCriteria;
namespace CloudBuilder.Web.Entry.Controllers.Master
{
[Authorize(AuthorizePolicy.PERMISSION)]
[ApiController]
[Route("[controller]/[action]")]
public class PublishAudioController : ControllerBase
{
private readonly IApplicationService service;
private readonly IPublishAudioService publishAudioService;
public PublishAudioController(IApplicationService service, IPublishAudioService publishAudioService)
{
this.service = service;
this.publishAudioService= publishAudioService;
}
[PermissionOperate(name: "PublishAudio", operate: "Find")]
[HttpPost]
public dynamic FindByKey(string key)
{
try
{
var result = publishAudioService.FindByKey(key);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "PublishAudio", operate: "Find")]
[HttpPost]
public dynamic FindBySearchCriteria(PublishAudioSearchCriteria criteria)
{
try
{
var result = publishAudioService.FindBySearchCriteria(criteria);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "PublishAudio", operate: "Find")]
[HttpPost]
public dynamic FindPublishAudioDefault()
{
try
{
var result = publishAudioService.FindPublishAudioDefault();
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "PublishAudio", operate: "Print")]
[HttpPost]
public dynamic PrintBySearchCriteria(PublishAudioSearchCriteria criteria)
{
try
{
var result = publishAudioService.PrintBySearchCriteria(criteria);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "PublishAudio", operate: "Insert")]
[HttpPost]
[UnitOfWork]
public dynamic Insert(PublishAudioData data)
{
try
{
var result = publishAudioService.Insert(data);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "PublishAudio", operate: "Update")]
[HttpPost]
[UnitOfWork]
public dynamic Update(PublishAudioData data)
{
try
{
var result = publishAudioService.Update(data);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "PublishAudio", operate: "Delete")]
[HttpPost]
[UnitOfWork]
public dynamic Delete(string key){
try
{
publishAudioService.Delete(key);
return string.Empty;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "PublishAudio", operate: "Insert")]
[HttpPost]
public dynamic InsertPublishAudioDetail(PublishData publishData){
try
{
publishAudioService.InsertPublishAudioDetail(publishData);
return string.Empty;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
}
}