离子将带有其他表单数据的图像从相机上传到服务器

时间:2018-08-04 20:43:49

标签: angular image ionic-framework upload form-data

我一直在搜索,并且已经阅读了有关此问题的主题,但是我认为自己有点难以置信。

我的用例:用户使用相机拍摄照片,为其添加标题,然后将其发送到远程API。

根据我的阅读,我要么必须添加一堆Cordova插件(FileFilePathFileTransfer"Ionic2 tut, but I believe this would be the same for Ionic3"),否则我不得不将相机拍摄模式从FILE_URI设置为FILE_URL,但这会导致较旧的手机以及后端的性能下降(但这并不是真正的问题,因为我正在使用VPS,而不是云服务提供商。

因此,我最终提出了两种可能的方法。

  1. 简单的方法;只需执行FILE_URL,就不必担心用户体验可能会受到影响,并使用http.post...发送数据
  2. 比较复杂的方法。首先使用链接和插件描述的文件机制发送文件,从登录的User发送带有user_id的自定义标头,等待响应,该响应已在我需要的表中创建了一个条目,然后发送{{ 1}}和表单数据以完成表中的记录。

我也了解了http.post..对象,但是由于我的用户中有很大一部分将拥有iOS设备,因此我认为这不适合我的情况吗?至少根据MSDN的移动规范。不提供Mobile Safari支持。但我必须承认,我不太确定iOS是否会将编译的Cordova / Ionic应用程序视为浏览器应用程序。那么这可能是第三个选择吗?

如何最好地实现用例?还是没有比上述更多的选择?

我认为我在提出这个问题上并非独树一帜,但我希望我添加了足够的上下文,以便将来的读者最终想到一个或多个问题,并可能找到答案。我的后端是PHP(Laravel),但是在这种情况下,这并不重要。

1 个答案:

答案 0 :(得分:0)

我忽略了FileUploadOptions文档,该文档允许使用params属性,而这正是我所需要的。