无法访问Vapor 2中的多部分非文件字段

时间:2017-08-06 23:29:01

标签: php vapor

我有一个用Objective-C编写的macOS应用程序,它使用多部分请求将文件上传到服务器。它将文件数据存储在名为'文档的字段中,并添加一个附加字段,数据库'进入标题:

[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"document\"; database=\"%s\"\r\n", DATABASE] dataUsingEncoding:NSUTF8StringEncoding]];

我正在为我几年来使用的简单脚本编写Vapor替代品。在服务器上的PHP中,为了提取字段'数据库'的值,我使用:

$database = $_FILES['document']['database'];

我无法在Vapor中找到相同的方法。我很高兴使用以下方法解压缩文件:

guard let filebytes = req.formData?["document"]?.part.body else ...

我试过改变字段的顺序等等。有没有人这样做过?或者是否有更好的方法来创建请求?感谢。

修改

我取得了一些进展:

req.formData?["document"]?.part.headers["Content-Disposition"]

给出

"form-data; database=\"test\"; name=\"document\""

现在只需要提取我感兴趣的位!

1 个答案:

答案 0 :(得分:0)

事实证明,您可以为Vapor设置/访问的唯一非文件字段是filename中名为multipart/form-data的字段。所以,我通过添加另一部分并将字段放入其中来实现我想要做的事。