找到了解决方案。这可能不是最好的方法……但这是一种将文件升级到azure blob存储的方法。使用multer而不是多方。这是最基本的,没有任何(最小)错误检查或加密。我还计划研究multer azure和multer azure存储
multer-azure
,
multer-azure-storage
//昂首阔步。yaml(yaml…后端))
/azureFileTransfer:
x-swagger-router-controller: azureFilesController
post:
operationId: uploadAzureFile
description: upload azure file
# ticket info to be stored : schema: $ref: "#/definitions/azureFileData"
consumes:
- multipart/form-data
parameters:
- name: azureFileDataParam
description: the file to be uploaded
in: formData
required: false
type: file
responses:
"200":
description: Success
schema:
$ref: "#/definitions/GeneralResponse"
default:
description: Error
schema:
$ref: "#/definitions/ErrorResponse"
//azureFilesController。js(nodejs javascript代码…后端)
module.exports = { uploadAzureFile };
//POST
function uploadAzureFile(req, res, next) {
var azureStorage = require('azure-storage');
var accessKey = 'keyfor_storageAccount';
var storageAccount = 'azureBlobStorageName';
var container = 'nameOfContainerInYourBlobStorage';
var blobService = azureStorage.createBlobService(storageAccount, accessKey);
var file_location = req.files[0].path;
var file_name = req.files[0].originalname;
blobService.createBlockBlobFromLocalFile(container, file_name, file_location, function (error, result, response) {
if (!error) {
res.sendStatus(200); // file uploaded successfully
}
else {
res.sendStatus(500);
}
});
}
//应用程序。js(nodejs javascript代码…后端)
var multer = require('multer');
app.use(multer({ dest: './uploads/' }).any());
$scope.uploadModel = function () {
var file = $scope.myFile;
console.log('file is ');
console.dir(file);
var base_uri = $scope.traSettingsService.baseUri;
var uploadUrl = base_uri + 'azureFileTransfer/';
uploadFileToUrl(file, uploadUrl);
};
function uploadFileToUrl(file, uploadUrl) {
var testing = null;
var fd = new FormData();
fd.append('file', file);
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: { 'Content-Type': undefined }
}).then(function successCallback(response) {
$scope.responseMessage = "Your file was successfully uploaded";
}, function errorCallback(response) {
$scope.responseMessage = "The file failed to load. Please try again.";
});
}