在我们的项目中,我们想要使用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>