我正在尝试在 moya 中上传带有参数的图像作为多部分表单数据。我有以下 api:
enum ApiService {
case upload(body:[String: String]?, profilePhoto: Data, frontIdPhoto: Data, backIdPhoto: Data)
}
extension ApiService: TargetType {
var baseURL: URL {
return URL(string: "http://202.166.194.122:8787/api/")!
}
var path: String {
switch self {
case .upload:
return "JsonRx/UpdateCustomerKyc/"
}
}
var method: Moya.Method {
switch self {
case .upload:
return .post
}
}
var parameters: [String: Any]? {
switch self {
case .upload(let body, _, _, _):
return body as [String: Any]?
}
}
var parameterEncoding: ParameterEncoding {
return URLEncoding.default
}
}
var task: Task {
switch self {
case .upload(_, let profilePhoto,let frontIdPhoto, let backIdPhoto):
var formdata: [MultipartFormData] = []
let profilePic = MultipartFormData(provider: .data(profilePhoto), name: "ProfileImage", fileName: "profileimage.png", mimeType: "image/png")
let frontPhoto = MultipartFormData(provider: .data(frontIdPhoto), name: "FrontIdImage", fileName: "frontimage.png", mimeType: "image/png")
let backPhoto = MultipartFormData(provider: .data(backIdPhoto), name: "BackIdImage", fileName: "backimage.png", mimeType: "image/png")
formdata.append(profilePic)
formdata.append(frontPhoto)
formdata.append(backPhoto)
return .upload(.multipart(formdata))
}
}
var sampleData: Data {
return Data()
}
var validate: Bool {
return true
}
但是,响应状态码给出了 404,它在邮递员中工作正常。