如何解决如何使用 alamofire 将多个图像/视频上传到带有额外参数的服务器?
我需要将多张图片或一个视频上传到服务器并带有参数。我创建了以下用于上传的模型类。但这给出了错误“类型'上传请求'不符合协议'可解码'/'可编码”我知道它显示了'文件:[Any]'声明。
struct UploadResponse: Codable {
let result: Bool?
let message: String?
}
struct UploadRequest: Codable {
let id: Int?
let title: String?
let user_id: Int?
var files: [Any]?
init?(_ viewModel: FolderNameVM) {
guard let id = viewModel.id,let title = viewModel.title,let userId = viewModel.user_id,let files = viewModel.files else {
return nil
}
self.id = id
self.title = title
self.user_id = userId
self.files = files
}
}
extension UploadRequest {
static func create(viewModel: FolderNameVM) -> Resource<UploadResponse?> {
let uploadRequest = UploadRequest(viewModel)
let url = URL(string: URL.upload)!
guard let data = try? JSONEncoder().encode(uploadRequest) else {
fatalError("Error encoding order!")
}
var resource = Resource<UploadResponse?>(url: url)
resource.httpMethod = HttpMethod.POST.rawValue
resource.parameter = data
return resource
}
}
在搜索了多个资源后,我使用 Alamofire 或 multipart/form-data 得到了答案,内容类型是解决方案。但是我没有找到任何合适的解决方案来上传带有额外参数的图片或单个视频。
这里我附上了邮递员格式示例以便更好地理解。出于安全考虑,我修改了域名。
这里的files是图像/视频容器数组。
现在我正在寻找这个问题的解决方案。另一件事是我之前没有使用 Alamofire。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。