-2

我正在使用javascript(angular js)訪問Azure Media Rest API,我遵循Microsoft文檔(https://docs.microsoft.com/en-us/azure/media-services/media-services-rest-get-started),通過該文檔,我可以生成令牌,連接到媒體服務,創建訪問令牌和定位器。但是在這一步之後,我在將文件上傳到blob存儲容器時遇到問題。 有沒有什麼辦法通過客戶端使用Angular js或javascript來上傳文件?如何使用Rest API在Azure媒體服務的Blob存儲中上傳媒體文件

同時發出請求: - PUT的https:/storageaccountname.blob.core.windows.net/assetcontainer/filename SAS令牌HTTP/1.1 主持人:storageaccount.blob.core.windows.net 連接:保持? -alive 的Content-Length:223 X-MS-BLOB類型:BlockBlob 產地:http://localhost 授權:SharedKey accountnamw:快捷鍵 的Content-Type:視頻/ MP4 接受:應用/ JSON, X-MS-版本:2011-08-18

這給出了迴應: - HTTP/1.1 400驗證信息沒有以正確的格式給出。檢查授權標頭的值。 的Content-Length:297 內容類型:應用/ XML X-MS-請求-ID:e6b8eeaa-0001-003e-4403-6958b9000000 訪問控制允許來源:本地主機 接入控制允許證書:true Date:Sat,07 Jan 2017 16:34:38 GMT

試圖從請求中刪除授權標頭和日期標頭時,我們收到的響應是一個404錯誤:資源不存在。我正在尋找一個適當的解決方案將文件上傳到blob存儲容器,請幫助我解決此問題。

謝謝。

回答

0

由於上傳是不是由媒體服務API本身處理,則需要通過SAS URL尋找使用Azure存儲API來上傳成塊斑點的例子。

由於您已經有了可寫的定位器(SAS URL),現在您需要寫入塊blob。

我已經看到了一些在網絡上從客戶端Angular代碼執行此操作的示例。例如 - https://blogs.msdn.microsoft.com/kaevans/2015/12/18/securely-upload-to-azure-storage-with-angular/

我會檢查,看看是否有任何更多的例子

+0

請求的形式如下: - –

+0

PUT storageaccountname.blob.core.windows.net/asset/... HTTP/1.1 Host:storageaccountname.blob.core.windows.net,Connection:keep-alive,x- ms-blob-type:BlockBlob,Authorization:SharedKey myaccount:「key」,Content-Type:video/mp4,接受:application/json,x-ms-version:2011-08-18 x-ms-date: 07 1月2017 16:07:36 GMT –

+0

迴應:HTTP/1。1 400認證信息沒有以正確的格式給出。檢查授權標頭的值。 Content-Length:297內容類型:application/xml服務器:Microsoft-HTTPAPI/2.0 x-ms-request-id:--------訪問控制 - 允許來源:localhost訪問控制 - 允許 - Credentials:true日期:2017年1月7日星期六16:34:38 GMT –

0

目前,還沒有一個現有的Azure存儲的JavaScript在客戶端使用SDK。因此,我們可以手動生成SAS令牌URL,以便從客戶端應用程序上傳blob。

有關詳細指導,請參閱https://docs.microsoft.com/en-us/azure/storage/storage-dotnet-shared-access-signature-part-1

另外,您可以參考此線程Authorization of Azure Storage service REST API,因爲我們討論過如何在客戶端的javascript中生成SAS令牌。

+0

這個問題需要花費很多努力才能清除,我們仍然面臨着一些或其他問題。 –

+0

PUT https://storageaccountname.blob.core.windows.net/asset/filename?sastoken HTTP/1.1 主機:storageaccountname.blob.core.windows.net 連接:保持活動狀態 x-ms-blob-type :BlockBlob 授權:SharedKey我的帳戶: 「鑰匙」 內容類型:視頻/ MP4 接受:應用/ JSON, X-MS-版本:2011-08-18 X-MS-日期:星期六,01月07日2017 16:07:36 GMT ...... –

+0

迴應:HTTP/1.1 400驗證信息沒有以正確的格式給出。檢查授權標頭的值。 的Content-Length:297 的Content-Type:application/xml進行 服務器:HTTPAPI/2.0 X-MS-請求ID:-------- 訪問控制允許來源:本地主機 Access-Control-Allow-Credentials:true Date:Sat,07 Jan 2017 16:34:38 GMT –

相關問題