1

ブラウザ側のJavaScriptを使用して、Webブラウザからテキスト/HTML文字列をAzureBLOBとして直接Azureストレージに(最初にAzure VM / Webサーバーを経由せずに)アップロードしたいと思います。私の調査から、Azure REST API +共有アクセス署名を使用してSilverlightクライアントから、またはMVC3ビューを介してこれを実現できることを理解しています。(SilverLight / MVC3を使用するコントロールのリンクは次のとおりです:http://code.msdn.microsoft.com/silverlight/Silverlight-Azure-Blob-3b773e26#content 。また、Node.JShttps://github.com/jpgarcia/waz-storage-jsでサーバー側のJavaScriptを使用してアップロードするためのライブラリを見つけまし

私の質問は、ブラウザー側のjavascriptとhtmlおよびSAS(SilverlightまたはMVCを使用せずに)のみを使用してテキスト文字列をAzure BLOBにアップロードし、Webサーバーを経由せずにAzureに直接アップロードする方法です。文字列値をAzureのRESTAPI呼び出しにどのように渡しますか(JSON文字列を受け入れますか?)MSDN REST APIの例を見ましたが、アップロードするテキスト文字列をどのように渡すかがわかりませんでした。誰かがこれを手伝うことができますか?前もって感謝します。

4

2 に答える 2

1

これはできないと思います。Webページが同じBLOBストレージドメインからホストされていない限り、これはクロスドメイン呼び出しであり、許可されていません(CORSヘッダーが設定されていない限り、BLOBストレージ用ではありません)。

さらに、blobへのアップロードにはHTTP PUTリクエストが必要であり、ほとんどのブラウザーはPOSTとGETのみを許可していると思います。

アップデート

以下のコメントを参照してください。ただし、一部のブラウザではPUTリクエストが許可されているようです。前述のように、同一生成元ポリシーは、同じBLOBストレージアカウントから元のページを提供することで無効にすることができます。その場合、コードは次のようになります(jQueryを使用)。

$.ajax({
    url: url,
    type: 'PUT',
    data: 'Hello, World!',
    headers: {'Content-Type': 'text/html'}
}).success(function () {
    console.log('Saved successfully.');
});
于 2012-10-08T20:10:51.780 に答える
0

JavaScriptを使用してMVCサイトに触れることなく、クライアントからアップロードできます。これを行う方法の例をブログに投稿しました http://blog.dynabyte.se/2013/10/09/uploading-directly-to- windows-azure-blob-storage-from-javascript/コードはGitHubにあり ます

これはGauravMantrisの投稿に基づいており、 BlobStorage自体でJavaScriptをホストすることで機能します。

于 2013-10-16T09:38:37.773 に答える