使用Moya封装上传带参数的文件

不带参传输文件

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

}

猜你喜欢

转载自blog.csdn.net/sinat_39313793/article/details/128930852