我正在使用角度上传将文件上传到Azure存储。
var filePath = [];
Upload.upload({
url: '/uploadFile',
data: { file: $scope.selectedFile }
}).then(function (resp) {
//resp.data contains URL returned from upload
filePath.push(resp.data);
})
我需要执行3次文件上传,这需要以顺序方式执行,例如:
upload [file 1], get [file 1] URL,
upload [file 2], get [file 2] URL,
upload [file 3], get [file 3] URL
file2需要等待file1在启动之前完成, 和file3需要等待file2在启动之前完成,
我如何使用promises来确保我以顺序模式获取文件URL?
例如:filePath [file1URL,file2URL,file3URL]
答案 0 :(得分:0)
你可以做到
var filePath = [];
Upload.upload({
url: '/uploadFile',
data: { file: $scope.selectedFile1 }
}).then(function (resp) {
filePath.push(resp.data);
Upload.upload({
url: '/uploadFile',
data: { file: $scope.selectedFile2 }
}).then(function (resp) {
filePath.push(resp.data);
Upload.upload({...
})
})
确保在上传上一个文件后上传。