我想從網絡瀏覽器將文本/ html字符串作爲Azure blob直接上載到Azure存儲(無需先通過Azure VM /網絡服務器)使用瀏覽器端JavaScript。從我的研究中,我明白可以使用Azure REST API +共享訪問簽名從Silverlight客戶端或通過MVC 3視圖實現此目的。 (這裏是使用SilverLight/MVC3進行控制的鏈接:http://code.msdn.microsoft.com/silverlight/Silverlight-Azure-Blob-3b773e26#content)。我還發現了一個使用服務器端javascript與Node.JS https://github.com/jpgarcia/waz-storage-js上傳的庫。如何使用javascript從瀏覽器直接將文本字符串上傳到Windows Azure Blob
我的問題是,如何將文本字符串上傳到Azure blob只使用瀏覽器端JavaScript和HTML和SAS(不使用Silverlight或MVC),並直接向Azure沒有通過Web服務器?如何將字符串值傳遞給Azure休息API調用(它會接受JSON字符串?)?我查看了MSDN REST api示例,但是我不清楚如何傳遞要上傳的文本字符串。有人能幫忙嗎?提前致謝。
感謝您的快速響應,Steve。在你提到的兩個問題中,#1跨域可以在我的情況下被克服,因爲我們可以將網頁放在同一個blob存儲域中,所以剩下的api調用會更新同一個域中的同一個blob。對於#2,我認爲更多的是對Azure REST API的AJAX調用,在這種情況下,我認爲應該支持PUT(對於AJAX)。鑑於這兩種可能的解決方法,問題能夠解決嗎?該字符串是否可以作爲JSON參數傳遞給Azure REST API? – Jarnal
經過四處搜索,看起來你可能是正確的,允許PUT請求。至於正文,blob PUT請求只是在正文中有原始數據,所以不要JSON編碼(或表單編碼)。只需將文本直接放在主體中即可。 – smarx
jQuery的'$ .ajax'文檔提到,你可以嘗試使用PUT,但不支持所有的瀏覽器。請參閱http://api.jquery.com/jQuery.ajax/。 – smarx