在Angular客户端中使用Azure文件服务

时间:2016-10-25 13:37:37

标签: angularjs azure azure-storage file-storage

在我们的项目中,我们想要使用SAS URL将文件从angular客户端上传到azure文件服务。

在进行PUT调用时,我们将此网址作为参考:“https://msdn.microsoft.com/en-us/library/azure/dn194276.aspx

但是我们收到与content-length或Range标头相关的错误,它表示没有正确设置值。

指出我们在这里做错了什么?如前所述,我们正在尝试直接从angular客户端写入文件,并且中间没有WEB API或中间层服务。

更新---------------------------------------------- ------------------

代码: JS:

$scope.addTesting = function() {
    var f = document.getElementById('file').files[0];
    // r = new FileReader();
    var fd = new FormData();
    fd.append("file", f);
    // r.onloadend = function(e) {
    // var data = e.target.result;
    // console.log(data);
    $http({
        method: "PUT",
        url: {put range URL + SAS URL},
        headers: {
            'x-ms-write': 'update',
            'x-ms-range': 'bytes=0-239',
            // 'Content-Type': 'multipart/form-data',
            'content-length': 240,

        },
        data: fd
    }).success(function(res) {
        console.log(res);
    }).error(function(err) {
        console.log(err);
    });
    // };
    // r.readAsBinaryString(f);
    // r.readAsArrayBuffer(f);
};

HTML:

<div class="row">
  <input type="file" id="file" name="file"/>
  <button ng-click="addTesting()">Add</button>
</div>

0 个答案:

没有答案