Rac*_*dge 3 javascript file-upload image azure azure-storage-blobs
我正在尝试将图像文件从html页面上传到azure blob存储.到目前为止,我已经编写了一个Web服务来为我的blob容器创建一个SAS.从这里我创建了一个格式为"blob地址"/"容器名称"/"blob名称"的uri?"SAS".我的html页面上有一个上传控件.
然后我尝试使用以下代码上传文件:
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);
xhr.open("PUT", blobPath);
xhr.send(upFile.files[0]);
Run Code Online (Sandbox Code Playgroud)
其中blobPath是上面的uri,upFile是我的html上传控件.
当我尝试上传文件时,会触发uploadFailed例程.那么:这是正确的方法吗?如何捕获上传返回的错误,以便我可以看到出现了什么问题?
我的sas看起来像:"sr = c&si = mypolicy&sig = onZTE4buyh3JEQT3%2B4cJ6uwnWX7LUh7fYQH2wKsRuCg%3D"
任何帮助表示感谢,谢谢.
这当然是正确的方法,但有一些事情:
x-ms-blob-type请求中包含请求标头,它的值应该是BlockBlob.CORS截至今天,Azure Blob存储不支持此页面.因此,如果您的html页面托管在其他某个域中,则会因CORS而出错.您可能会发现这些博客文章对于使用SAS和AJAX上传blob非常有用:
http://coderead.wordpress.com/2012/11/21/uploading-files-directly-to-blob-storage-from-the-browser/
| 归档时间: |
|
| 查看次数: |
9027 次 |
| 最近记录: |