|
@@ -90,37 +90,44 @@ namespace MySystem.Areas.Api.Controllers.v1
|
|
|
|
|
|
#region 首页-首页-oss信息
|
|
|
[Authorize]
|
|
|
- public JsonResult OssInfo()
|
|
|
+ public JsonResult OssInfo(string value)
|
|
|
{
|
|
|
+ value = DesDecrypt(value);
|
|
|
+ JsonData data = JsonMapper.ToObject(value);
|
|
|
+ string dir = data["dir"].ToString(); //文件上传路径
|
|
|
+ if (string.IsNullOrEmpty(data["dir"].ToString()))
|
|
|
+ {
|
|
|
+ return Json(new AppResultJson() { Status = "1", Info = "文件上传路径不能为空" });
|
|
|
+ }
|
|
|
Dictionary<string, object> Obj = new Dictionary<string, object>();
|
|
|
- var time = DateTime.Now.ToString("yyyyMMdd");
|
|
|
- var dir = "/miniappHeadPhoto/" + time.Substring(0, 4) + "/" + time.Substring(4, 2) + "/" + time.Substring(6, 2) + "/";
|
|
|
- var OssUrl = "https://laikeba.oss-cn-chengdu.aliyuncs.com";
|
|
|
- // https://laikeba.oss-cn-chengdu.aliyuncs.com/miniappHeadPhoto/2024/01/17/lkb-1705458639623.jpg
|
|
|
- var AccessKeyId = "LTAI5tJsPaNzqCSMCPwb8zfz";
|
|
|
- var AccessKeySecret = "efM31Up75fQcgZ32U6xvAciagceQae";
|
|
|
+ var OssUrl = OssHost;
|
|
|
+ var AccessKeyId = OssKey;
|
|
|
+ var AccessKeySecret = OssSecret;
|
|
|
+ var endpoint = "https://" + OssEndpoint;
|
|
|
|
|
|
// 构造OssClient实例。 endpoint 格式:https://oss-cn-beijing.aliyuncs.com
|
|
|
- var ossClient = new OssClient(OssUrl, AccessKeyId, AccessKeySecret);
|
|
|
+ var ossClient = new OssClient(endpoint, AccessKeyId, AccessKeySecret);
|
|
|
var config = new PolicyConditions();
|
|
|
config.AddConditionItem(PolicyConditions.CondContentLengthRange, 1, 1024L * 1024 * 1024 * 5);// 文件大小范围:单位byte
|
|
|
config.AddConditionItem(MatchMode.StartWith, PolicyConditions.CondKey, dir);
|
|
|
- // config.AddConditionItem(PolicyConditions.CondSuccessActionStatus, "200");
|
|
|
var expire = DateTimeOffset.Now.AddMinutes(30);// 过期时间
|
|
|
+
|
|
|
// 生成 Policy,并进行 Base64 编码
|
|
|
var policy = ossClient.GeneratePostPolicy(expire.LocalDateTime, config);
|
|
|
var policyBase64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(policy));
|
|
|
+
|
|
|
// 计算签名
|
|
|
var hmac = new HMACSHA1(Encoding.UTF8.GetBytes(AccessKeySecret));
|
|
|
var bytes = hmac.ComputeHash(Encoding.UTF8.GetBytes(policyBase64));
|
|
|
var Signature = Convert.ToBase64String(bytes);
|
|
|
|
|
|
- Obj.Add("OssUrl", OssUrl + dir);
|
|
|
+ Obj.Add("OssUrl", OssUrl);
|
|
|
Obj.Add("AccessKeyId", AccessKeyId);
|
|
|
- Obj.Add("AccessKeySecret", AccessKeySecret);
|
|
|
+ // Obj.Add("AccessKeySecret", AccessKeySecret);
|
|
|
Obj.Add("Policy", policyBase64);
|
|
|
Obj.Add("Expiration", expire);
|
|
|
Obj.Add("Signature", Signature);
|
|
|
+ Obj.Add("dir", dir);
|
|
|
return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
|
|
|
}
|
|
|
#endregion
|