我正在使用Kendo上传控件通过CORS上传到Amazon S3。我遇到的问题是我需要从服务器上获取签名,然后将其添加到“数据”中。对于'上传'的事件对象处理程序我创建。当然,问题是在处理程序中我触发了一个异步请求以获取签名,并且上传处理程序继续它的快乐方式而没有我需要的签名数据。发布的API没有' upload()'或者当我的异步请求返回时我可以调用的命令。
我在某个地方看到了一个ASP-Kendo-S3示例,但是从该代码中看不清楚,该签名是如何获得的,当然,我还没有使用ASP。
答案 0 :(得分:0)
Kendo Upload有onUpload
个事件。在剑道的asp.net示例中,确实没有任何特定于该框架的东西不会移植到其他任何东西。
他们最初使用配置文件填充页面(base64编码的JSON)。
要获得base64编码的json配置文件的签名,他们使用此方法(C#):
private static string Sign(string text, string key)
{
var signer = new HMACSHA1(Encoding.UTF8.GetBytes(key));
return Convert.ToBase64String(signer.ComputeHash(Encoding.UTF8.GetBytes(text)));
}
对于可以将其移植到另一种语言的点,它看起来非常自我解释。