Rest 正在将blob上载到azure-http标头格式不正确

Rest 正在将blob上载到azure-http标头格式不正确,rest,azure,Rest,Azure,我正在尝试通过RESTAPI将视频上传到azure媒体服务器。我已经达到上传视频的步骤,但我得到了一个错误。我使用以下代码上传视频 var client = new HttpClient(); client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + token); client.DefaultRequestHeaders.Add("x-ms-version

我正在尝试通过RESTAPI将视频上传到azure媒体服务器。我已经达到上传视频的步骤,但我得到了一个错误。我使用以下代码上传视频

 var client = new HttpClient();
        client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + token);
        client.DefaultRequestHeaders.Add("x-ms-version", "2.8");
        client.DefaultRequestHeaders.Add("x-ms-date", "2015-02-5");
        client.DefaultRequestHeaders.Add("DataServiceVersion", "3.0");
        client.DefaultRequestHeaders.Add("MaxDataServiceVersion", "3.0");
        client.DefaultRequestHeaders.Add("x-ms-blob-type", "BlockBlob");
        var formcontent = new MultipartFormDataContent();

       FileStream stream = File.OpenRead(@"C:\AzureMediaUploadTest\MediaUploadTest\VideoFiles\tom.mp4");
        byte[] fileBytes = new byte[stream.Length];

        stream.Read(fileBytes, 0, fileBytes.Length);
        stream.Close();
        var streamcontent = new StreamContent(new MemoryStream(fileBytes));
        formcontent.Add(streamcontent);
        formcontent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");

        result = await client.PutAsync(uploadurl, formcontent);
但是,结果显示400-a http头的格式不正确。我不确定哪个标题也被引用了,或者我遗漏了什么

感谢您的帮助

更新:我已将问题标记为已回答,但我现在对身份验证标头有问题-此处会询问新问题-

根据:

所有经过身份验证的请求必须包括协调的通用时间 请求的UTC时间戳。您也可以指定时间戳 在x-ms-date头中,或在标准HTTP/HTTPS日期头中。如果 请求中指定了两个标头,x-ms-date的值为 用作请求的创建时间。存储服务确保 当请求到达目标时,其时间不超过15分钟 服务这可以防止某些安全攻击,包括 重播攻击。当此检查失败时,服务器返回响应 代码403禁止

您的2015-02-05(如果远离有效的UTC日期格式)

根据,以及样本PUT请求,日期标题表示为x-ms-Date:Wed,2013年10月23日22:41:55 GMT


Azure Blob REST API文档中没有一个日期被称为yyyy mm dd格式。

问题在于您的x-ms-Date头。请检查RESTAPI文档以了解正确的格式。HTH.文档建议如下放置HTTP/1.1内容类型:应用程序/八位字节流x-ms-version:2011-08-18 x-ms-date:2011-01-17 x-ms-blob-Type:BlockBlob主机:yourstorageaccount.blob.core.windows.net内容长度:4045744预期:100如果我将日期格式更改为2015-02-05,则继续执行此操作不会更改任何内容将更改格式-但此示例显示了格式-执行文件上载,请参阅Azure Media Services文档。媒体服务API的所有引用都已正确格式化。此外,文章中提到将文件上载到Blob的部分明确地引用了指向BLOBAPI文档的链接。最后,Azure REST管理API文档的适当部分清楚地描述了预期的头格式。