我能夠通過上傳按鈕,以我的供應商API成功上傳的文件。我的供應商API還會以blob格式返回一個.png文件,我需要將其上傳到Azure Blob存儲。我已經嘗試了一些辦法,但我得到以下錯誤在我的節點控制檯:上傳AJAX響應(圖像BLOB)天青Blob存儲:錯誤414
[錯誤]的StatusCode:414
我的前端代碼是在將數據傳遞迴一個角度控制器我的Node後端包含我的Azure Blob Storage調用。我有安裝和需要的強大和請求模塊,但我沒有在我當前的後端代碼中使用它們,因爲我收到的數據已經是blob格式。
這裏是我的前端代碼上傳。成功的「結果」是,我現在回到BLOB數據:
$scope.sendToProduction = function() {
var parts = document.getElementById("file").value.split("\\");
var uploadedfilename = parts[parts.length - 1];
var basefilename = uploadedfilename.split(".")[0];
var fileextension = uploadedfilename.split(".")[1];
var filename = basefilename + '.' + fileextension;
var file = document.getElementById("file").files[0];
var formdata = new FormData();
formdata.append(filename, file);
$.ajax({
url: 'http://myvendorsapi/fileuploadendpoint',
type: "POST",
data: formdata,
mimeType: "multipart/form-data",
processData: false,
contentType: false,
crossDomain: true,
success: function (result) {
var filename = 'Test.png';
var file = result;
console.log(file);
$http.post('/postAdvanced', {filename: filename, file: file }).success(function (data) {
console.log(data);
}, function (err) {
console.log(err);
});
},
error: function (error) {
console.log("Something went wrong!");
}
});
};
這是我上傳到Azure的Blob存儲節點後端:
app.post('/postAdvanced', function (req, res, next) {
var filename = req.body.filename;
var file = req.body.file;
blobSvc.createBlockBlobFromText('blob5', file, filename, function (error, result, response) {
if (!error) {
console.log("Uploaded" + result);
}
else {
console.log(error);
}
});
})
如何上傳的Ajax響應到Azure的Blob存儲?
這樣做。 MSFT團隊再次拯救!不能相信我錯過了這一點。 – Kode