我试图使用Swift上传一个视频到我的rails API后端。为了上传,我使用Alamofire。唯一的问题是,rails api正在期待这个。{"video":{"clip": (form data)}}
. 我遇到的问题是存储多部分表格数据,似乎我不能把它存储在第二个字典里面。我已经尝试过为我的视频添加params,但似乎并不奏效。下面是我的一些代码,如果它帮助。
Alamofire请求
AF.upload(
multipartFormData: { multipartFormData in
for (_, _) in params {
multipartFormData.append(self.videoURL, withName: "clip" , fileName: "clip.mp4", mimeType: "video/mp4")
}
multipartFormData.append("\(Id)".data(using: String.Encoding.utf8, allowLossyConversion: false)!, withName :"Id")
},
to: "http://10.0.0.2:3000/api/v1/videouploads.json", method: .post, headers: headers)
.response { resp in
print(resp)
}
服务器期望的东西(漂亮的印刷品
{
"video": {
"clip": (multipartformdata)
}
"id": (user id)
}
试试这个。
multipartFormData.append(
self.videoURL,
withName: "video[clip]", // this is location in form' struct
fileName: "clip.mp4",
mimeType: "video/mp4"
)