代码之家  ›  专栏  ›  技术社区  ›  Ben

Ionic使用附加表单数据将图像从相机上载到服务器

  •  0
  • Ben  · 技术社区  · 6 年前

    我一直在四处寻找,我也读过关于这个问题的话题,但我相信我有点不相信。

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

    据我所知,我要么要添加一堆Cordova插件( File , FilePath FileTransfer ( "Ionic2 tut, but I believe this would be the same for Ionic3" ). 或者我必须设置摄像机拍摄模式 FILE_URI FILE_URL 但这可能会导致旧款手机的性能下降,同时也会导致后端性能下降(但这并不是一个真正的问题,因为我是VPS的,而不是云服务提供商)。

    所以,我有两种可能的方法。

    1. 简单的方法;做一个 文件URL ,不关心可能受影响的用户体验,并使用 http.post...
    2. 有点复杂的方式。首先使用link和plugins所描述的文件机制发送文件,从登录用户发送带有用户id的自定义头,等待在我需要的表中创建了一个条目的响应,然后发送 http.post.. 与表单数据一起完成表中的记录。

    我也读过 FormData 对象,但由于我的大部分用户将拥有iOS设备,我认为这不适合我的情况?至少根据手机规格 MSDN . 没有移动Safari支持。但我必须承认,我并不确定iOS是否将编译后的Cordova/Ionic应用程序视为浏览器应用程序。所以这可能是第三种选择?

    如何最好地实现用例?或者没有比上面描述的更多的选择了?

    我不认为我在提出这个问题时是独一无二的,但我希望我已经添加了足够的上下文,未来的读者最终会以同样的方式思考问题,并可能找到答案。我的后端是PHP(Laravel),但在这种情况下这并不重要。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Ben    6 年前

    我忽略了 FileUploadOptions 允许 params 财产,这正是我需要的。