我使用的是Typescript和Cordova 4.0。將Cordova的FileTransfer插件與Express/Blob存儲配合使用
我有以下示例代碼:
uploadImages(imageUris: Array<string>): any {
var fileTransfer = new FileTransfer();
for (var i = 0; i < imageUris.length; i++) {
fileTransfer.upload(imageUris[i], encodeURI('http://3187cf3.ngrok.com/test/photos'), (success) => {
alert('success');
}, (err) => {
alert('error');
});
}
}
這對應於明文路線:
var router = express.Router(),
test = test.controller;
router
.post('/test/photos', bind(test.uploadPhotos, test));
其對應於控制器的方法:
uploadPhotos(req: express.Request, res: express.Response) {
console.log(req);
}
我不能似乎弄清楚如何在我的控制器內部抓取使用文件發佈到我的服務器的「文件」或圖像轉讓。這不是在req.body
或req.query
,當我查看整個req
我似乎無法找到該文件。應用程序流程已經足夠用於將POST請求發送到test/photos
,我只是不知道該如何訪問該文件。
Filetransfer如何工作,以及如何在控制器中訪問我需要的數據以便將其推送到Azure Blob存儲?