不带参传输文件
return .uploadMultipart(getImagesData(imgs: [img]))
带参数传输文件
return .uploadCompositeMultipart(getImagesData(imgs: imgs), urlParameters: ["module":"dynamic"])
我们对上传文件进行一个简单的封装
func getImagesData(imgs: [UIImage]) -> [MultipartFormData] {
var formDataAry:[MultipartFormData] = [MultipartFormData]()
for (index,image) in imgs.enumerated() {
//图片转成Data
let data:Data = image.jpegData(compressionQuality: 0.7)!
//根据当前时间设置图片上传时候的名字
let now = Date()
var dateStr: String = now.sy_toString(format: "yyyy-MM-dd HH:mm:ss")
//别忘记这里给名字加上图片的后缀哦
dateStr = dateStr.appendingFormat("-%i.jpeg", index)
// MARK: - 对应服务端,这里的name必须为 "file",fileName和mineType必须有值,headers只需要token,不然都会报错,提示未上传文件
let formData: MultipartFormData = MultipartFormData(provider: .data(data), name: "file", fileName: dateStr, mimeType: "image/jpeg"
formDataAry.append(formData)
}
return formDataAry
}