我一直在四处寻找,我也读过关于这个问题的话题,但我相信我有点不相信。
我的用例:用户使用相机拍照,添加标题并将其发送到远程API。
据我所知,我要么要添加一堆Cordova插件(
File
,
FilePath
和
FileTransfer
(
"Ionic2 tut, but I believe this would be the same for Ionic3"
). 或者我必须设置摄像机拍摄模式
FILE_URI
到
FILE_URL
但这可能会导致旧款手机的性能下降,同时也会导致后端性能下降(但这并不是一个真正的问题,因为我是VPS的,而不是云服务提供商)。
所以,我有两种可能的方法。
-
简单的方法;做一个
文件URL
,不关心可能受影响的用户体验,并使用
http.post...
-
有点复杂的方式。首先使用link和plugins所描述的文件机制发送文件,从登录用户发送带有用户id的自定义头,等待在我需要的表中创建了一个条目的响应,然后发送
http.post..
与表单数据一起完成表中的记录。
我也读过
FormData
对象,但由于我的大部分用户将拥有iOS设备,我认为这不适合我的情况?至少根据手机规格
MSDN
. 没有移动Safari支持。但我必须承认,我并不确定iOS是否将编译后的Cordova/Ionic应用程序视为浏览器应用程序。所以这可能是第三种选择?
如何最好地实现用例?或者没有比上面描述的更多的选择了?
我不认为我在提出这个问题时是独一无二的,但我希望我已经添加了足够的上下文,未来的读者最终会以同样的方式思考问题,并可能找到答案。我的后端是PHP(Laravel),但在这种情况下这并不重要。