gpt4 book ai didi

jquery - 使用 SAS WEBAPI 的精细 uploader azure blob

转载 作者:行者123 更新时间:2023-12-03 03:17:06 25 4
gpt4 key购买 nike

在此处输入图像描述我正在开发一个纯 html/javascript 项目,该项目将文件分块上传到 Azure Blob 存储。

我有一个 HTML5/jquery 解决方案,非常适合大型视频文件。它将创建并使用 SAS token ,通过 MVC 4 和 WEBAPI 将大文件上传到 Azure 存储。我无法使用此解决方案,因为 HTML5 使用名为 split() 的方法,Safari 或 iOS 可移植电话不支持该方法。所以我开始研究 FineUploader 解决方案。

我能够使用 WEBAPI 获取签名端点,该端点返回如下所示的 SAS...' https://sike42.blob.core.windows.net/videos/CAM00281.mp4?sv=2013-08-15&sr=b&sig=PMwXaWLreN2uyHANtEBH1%2BwGB5%2FPjJ2h%2F5ML3pHev%2FM%3D&se=2014-04-18T01%3A12%3A33Z&sp=rwl

我打开调试并能够在它从签名:{ 端点:'/api/signature'

我收到错误

网络错误:404 未找到 - http://one27.0.0.1:1369/%3Cstring%20xmlns=%22http://schemas.microsoft.com/2003/10/Serialization/%22%3Ehttps://sike42.blob.core.windows.net/videos/CAM00281.mp4?sv=2013-08-15&sr=b&sig=PMwXaWLreN2uyHANtEBH1%2BwGB5%2FPjJ2h%2F5ML3pHev%2FM%3D&se=2014-04-18T01%3A12%3A33Z&sp=rwl%3C/string%3E

我对如何解决这个问题有点困惑,我想在谷歌搜索并寻找支持答案后寻求一些帮助。

看起来 SAS 和 URL 之间存在一些 XML,或者发生了一些奇怪的事情。

$(document).ready(function () {
$("#fine-uploader").fineUploaderAzure({

debug : true,
request: {
endpoint : 'https://sike42.blob.core.windows.net/videos/'

},
signature: {
endpoint: '/api/signature'
},
uploadSuccess: {
endpoint: '/success'
}


});

任何帮助将不胜感激

我无法发布我在 firebug 中看到的错误,因为此嵌入式 html 编辑器不允许在帖子中使用 onetwentyseven.zero.zero。非常令人沮丧。

因此,我发布了一个有效的链接(它使用 Azure SAS 分块上传文件)

roku.azurewebsites.net

还有一个链接,您可以使用fineuploader.js 自行查看 Firebug 中的错误

roku.azurewebsites.net/default.html

我为这段 js 代码支付了 78 美元,因为我认为我可以使用它在 iPhone 上进行分块,而无需使用 jquery slice() (注意:iPhone 上不支持 jquery slice)....请提供一些支持.

谢谢

    const string STORAGE_ACCOUNT_NAME = "sikeXXXXXX";

const string STORAGE_ACCOUNT_KEY = "LccVXXXXXXXXXXXXXXXXXXXXXX==";
static List<String> ALLOWED_CORS_ORIGINS = new List<String> { "roku.azurewebsites.net" };
static List<String> ALLOWED_CORS_HEADERS = new List<String> { "x-ms-meta-qqfilename", "Content-Type", "x-ms-blob-type", "x-ms-blob-content-type" };

// x-ms-meta-qqfilename, x-ms-blob-type, x-ms-blob-content-type,Content-Type


const CorsHttpMethods ALLOWED_CORS_METHODS = CorsHttpMethods.Delete | CorsHttpMethods.Put | CorsHttpMethods.Post | CorsHttpMethods.Get;
const int ALLOWED_CORS_AGE_DAYS = 5;
const string SIGNATURE_SERVER_ENDPOINT_ADDRESS = "http://*:8080/signature/";
const string UPLOAD_SUCCESS_ENDPOINT_ADDRESS = "http://*:8080/success/";

在startServer()方法中;

如果它进入无限循环,我该如何在 apicontroller 中运行它???

我应该将此代码放在辅助角色中吗?

标题=

缓存控制私有(private)内容长度 3529内容类型text/html;字符集=utf-8日期 2014 年 5 月 13 日星期二 02:37:54 GMT服务器微软-IIS/8.0X-AspNet-版本 4.0.30319X-由 ASP.NET 提供支持X-SourceFiles =?UTF-8?B?QzpcMjAxM1xTaWtlNDJcU2lrZTQyLldlYlw8c3RyaW5nIHhtbG5zPSJodHRwOlxzY2hlbWFzLm1pY3Jvc29mdC5jb21cMjAwM1wxMFxTZXJpYWxpemF0aW9uXCI+ aHR0chHM6XHNpa2U0Mi5ibG9iLmNvcmUud2luZG93cy5uZXRcdmlkZW9zXEFueXRoaW5nNTEzMjAxNCAyMzc0NCBBTQ==?=请求 header 接受 text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8接受编码 gzip、deflate接受语言 en-US,en;q=0.5内容长度 2462553内容类型 video/mp4Cookie __RequestVerificationToken = 0j8Re7pnVCpuw4sU59jYAioM9ESekxdTt6pudAdNPQyJTRjxyN65tMhZkAg1wDE_C464UDLGv3kTN2djj87SNwz8oc_UZNnVCXEYoL7y9Po1主持人
引用/default.html用户代理 Mozilla/5.0(Windows NT 6.3;WOW64;rv:29.0) Gecko/20100101 Firefox/29.0x-ms-blob-类型 BlockBlobx-ms-meta-qq文件名 CAM00281.mp4

html = 从客户端检测到潜在危险的 Request.Path 值 (<)。

附注我本来会包含错误的 SS...但我需要 10 个代表点,但尚未获得它们。 ;-(

最佳答案

我正在努力解决我认为与您相同的问题:

  • 我的 WebAPI 方法向 FineUploader 返回有效的 SAS URL;
  • FineUploader 会尝试将文件上传到我的本地服务器,而不是 SAS URL。
  • 奇怪的是,SAS URL 出现在 FineUpload 最终使用的 URL 中的某个位置。

问题原来是 WebAPI 自动将 SAS URL 序列化为 JSON。这导致 SAS URL 格式错误——添​​加了一些额外的字符——FineUploader 对此响应感到困惑。在您的例子中,SAS URL 似乎正在根据存在的 schemas.microsoft.com 文本序列化为 XML。

有了这样的理解,我就绕过了 WebAPI 的自动序列化。下面是我的 GET/api/sas 方法的工作实现。注意:GetSasForBlob 直接从 Sample Azure Server 中提取。 .

public HttpResponseMessage Get(string bloburi, string _method)
{
var accountAndKey = new StorageCredentials(STORAGE_ACCOUNT_NAME, STORAGE_ACCOUNT_KEY);
var sas = GetSasForBlob(accountAndKey, bloburi, _method);

var content = new StringContent(sas);
return new HttpResponseMessage {Content = content};
}

关于jquery - 使用 SAS WEBAPI 的精细 uploader azure blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23145830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com