【问题标题】:Is there any way to manually initiate an AJAX upload with the Kendo Upload control有没有办法使用 Kendo Upload 控件手动启动 AJAX 上传
【发布时间】:2014-04-08 13:59:31
【问题描述】:
我正在使用 Kendo 上传控件通过 CORS 上传到 Amazon S3。我遇到了一个问题,即我需要从服务器获取签名,然后将其添加到我创建的“上传”处理程序的事件对象的“数据”中。当然,问题在于,在处理程序中,我触发了一个异步请求以获取签名,并且上传处理程序继续以快乐的方式进行,而没有我需要的签名数据。发布的 API 没有“upload()”或我可以在异步请求返回时调用的命令。
我在某处看到了一个 ASP-Kendo-S3 示例,但从该代码中并不清楚该签名是如何获得的,当然,我没有使用 ASP。
【问题讨论】:
标签:
kendo-ui
kendo-upload
【解决方案1】:
Kendo Upload 有一个 onUpload 事件。在 Kendo 的 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)));
}
它看起来很容易解释,您可以将它移植到另一种语言。