Javascript 科尔多瓦+;ngcordova-在一个请求中上载多个图像

Javascript 科尔多瓦+;ngcordova-在一个请求中上载多个图像,javascript,ios,angularjs,cordova,Javascript,Ios,Angularjs,Cordova,我正在处理一个IOS Ipad cordova应用程序,它是一个调查类型的应用程序 一旦用户提交了调查,我就想上传多张图片 我使用ngcordova摄像头插件来捕获图像,我将图像存储为$scope上的base64 DATA_URL,以便查看 我向服务器发送一个HTML字符串,然后为我创建HTML的PDF,包括图像,然后将其作为base64字符串发送回我 这适用于少量图像,但提交调查时可能会上载50-60个图像,图像的base64数据URL使输出HTML变得庞大(如您所料) 这让我开始考虑将捕获的

我正在处理一个IOS Ipad cordova应用程序,它是一个调查类型的应用程序

一旦用户提交了调查,我就想上传多张图片

我使用ngcordova摄像头插件来捕获图像,我将图像存储为$scope上的base64 DATA_URL,以便查看

我向服务器发送一个HTML字符串,然后为我创建HTML的PDF,包括图像,然后将其作为base64字符串发送回我

这适用于少量图像,但提交调查时可能会上载50-60个图像,图像的base64数据URL使输出HTML变得庞大(如您所料)

这让我开始考虑将捕获的图像存储为文件URI,在研究了将多个图像上载为文件后,似乎并不简单。我找不到任何能解决这个问题的文章

我见过一种使用承诺的方法,对我来说这似乎不是一个好主意(因为会触发HTTP请求的数量),但我似乎找不到替代方法


那么,我该如何将图像文件上传到API中呢

此后,我使用HTML5画布元素对此进行了变通


我只需迭代从cordova捕获的图像文件,使用canvas API将它们转换为Blob,然后将Blob集合发布到我的API。

您查看了吗?同时发送多个图像的唯一方法是使用base64字符串。使用文件URI和文件传输将逐个发送它们