//using Aliyun.Acs.Core; //using Aliyun.Acs.Core.Auth.Sts; //using Aliyun.Acs.Core.Exceptions; //using Aliyun.Acs.Core.Profile; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using VOL.Core.CacheManager; using VOL.Core.Filters; using VOL.Core.Services; using VOL.Core.Utilities; namespace VOL.WebApi.Controllers.OSS { /// /// neuget包aliyun-net-sdk-core /// [JWTAuthorize, ApiController] [Route("api/alioss")] public class AliOSSController : Controller { private ICacheService _cache { get; set; } public AliOSSController(ICacheService cache) { _cache = cache; } [Route("getAccessToken"), HttpGet] public object GetAccessToken() { // //Region对照(创建创建 Bucket时选择的地域)https://oss.console.aliyun.com/bucket列表中的【地域】列,根据地域在下面的链接里面【Region ID】值 // //https://help.aliyun.com/document_detail/31837.htm?spm=a2c4g.11186623.0.0.57a8396cwRnyQV#section-plb-2vy-5db // string region = "oss-cn-beijing"; ////https://ram.console.aliyun.com/users 用户点击进去里面找 // string accessKeyID = "LTAI5tR4bQnBZqF8ruGiw123"; // string accessKeySecret = "gZUwXdy1mVsPvROfNCsvmVWOeqi123"; //// https://ram.console.aliyun.com/roles/AliyunServiceRoleForSLSAudit 角色点进去找ARN // string ARN = "acs:ram::1807122303681234:role/vol-role"; // WebResponseContent webResponse = new WebResponseContent(); // //下面这些引用的neuget包aliyun-net-sdk-core // //获取sts凭证 // IClientProfile profile = DefaultProfile.GetProfile(region, accessKeyID, accessKeySecret); // DefaultAcsClient client = new DefaultAcsClient(profile); // var request = new AssumeRoleRequest() // { // RoleArn = ARN, // //这个 随便填写 // RoleSessionName = "oss" // }; // try // { // var response = client.GetAcsResponse(request); // return Json(webResponse.OK(null, new // { // region, // response.Credentials.AccessKeyId, // response.Credentials.AccessKeySecret, // response.Credentials.SecurityToken, // Bucket= "vol-2023",//阿里云控制台创建的bucket名称 // //Bucket所在具体文件夹 // BucketFolder = "/" + DateTime.Now.ToString("yyyyMMdd"), // //生成一个唯一标识防止文件重复 // unique = DateTime.Now.ToString("HHmmsss") // })); // } // catch (ServerException e) // { // string message = $"获取sts异常:{e.Message + e.StackTrace}"; // Console.WriteLine(message); // Logger.Error(message); // return Json(webResponse.Error(message)); // } return Content(""); } } }