【发布时间】:2019-03-20 05:14:32
【问题描述】:
我有一个包含少数实体信息的表格:公民、护照、护照扫描。
我需要保存公民及其关系,同时上传护照扫描图像。
我最终在客户端有一个如下所示的对象:
但是我不知道如何存储扫描,因为我无法从 laravel 的 $request->file(...) 方法中得到任何东西(它返回 null)。
在我的情况下,所有这些实体都必须是一致的,我的意思是不应该有任何情况下我存储没有护照的公民或没有扫描的护照。
所以我不确定在这种情况下如何存储扫描,因为例如我不能在 formData 对象中使用嵌套数据。
【问题讨论】:
-
Base64 不在请求文件中,您必须读取字符串并将其转换回图像
$request->get('foreignCitizen.passports[0].scans[0]')。另一种选择是存储此人,后者使用 FormData 提交护照文件,以便POST /person/1/scans将文件附加到第 1 个人。 -
我想过将请求分为 1. 存储人员 2. 存储护照 3. 存储护照扫描,但想知道如果我需要保持这 3 个查询一致,例如,不应该有任何未加载扫描的情况(例如连接已丢失)。不确定我是否让您了解将字符串转换为图像,好吧,我可以获得字符串,但是如何将其转换为图像(或通常转换为任何文件,以便 laravel 可以确定 mime-type 和其他内容)
标签: laravel vue.js file-upload