|
@@ -9,6 +9,9 @@ using System.Collections;
|
|
|
using LitJson;
|
|
|
using System.Globalization;
|
|
|
using System.Web;
|
|
|
+using System.Security.Cryptography;
|
|
|
+using System.Text;
|
|
|
+using Aliyun.OSS;
|
|
|
|
|
|
namespace MySystem.Areas.Api.Controllers
|
|
|
{
|
|
@@ -44,6 +47,41 @@ namespace MySystem.Areas.Api.Controllers
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
+
|
|
|
+ #region 前端上传oss返回参数
|
|
|
+ public JsonResult OssInfo()
|
|
|
+ {
|
|
|
+ Dictionary<string, object> Obj = new Dictionary<string, object>();
|
|
|
+ var OssUrl = OssHost;
|
|
|
+ var AccessKeyId = OssKey;
|
|
|
+ var AccessKeySecret = OssSecret;
|
|
|
+
|
|
|
+ var dir = DateTime.Now.ToString("yyyyMMdd") + "/"; //上传目录
|
|
|
+ // 构造OssClient实例。 endpoint 格式:https://oss-cn-beijing.aliyuncs.com
|
|
|
+ var ossClient = new OssClient(OssUrl, AccessKeyId, AccessKeySecret);
|
|
|
+ var config = new PolicyConditions();
|
|
|
+ config.AddConditionItem(PolicyConditions.CondContentLengthRange, 1, 1024L * 1024 * 1024 * 5);// 文件大小范围:单位byte
|
|
|
+ config.AddConditionItem(PolicyConditions.CondSuccessActionStatus, "200");
|
|
|
+ config.AddConditionItem(MatchMode.StartWith, PolicyConditions.CondKey, dir);
|
|
|
+ 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);
|
|
|
+ Obj.Add("AccessKeyId", AccessKeyId);
|
|
|
+ Obj.Add("AccessKeySecret", AccessKeySecret);
|
|
|
+ Obj.Add("Policy", policyBase64);
|
|
|
+ Obj.Add("Expiration", expire);
|
|
|
+ Obj.Add("Signature", Signature);
|
|
|
+ return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
|
|
|
|
|
|
#region 编辑器上传图片
|