Swift 上传 UIImage 与多部分形式没有参数

Posted

技术标签:

【中文标题】Swift 上传 UIImage 与多部分形式没有参数【英文标题】:Swift upload UIImage with multipart form without parameters 【发布时间】:2022-01-10 04:11:06 【问题描述】:

我使用的服务器接受:

  curl -X 'POST' \
  'https://some.url' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: multipart/form-data' \
  -F 'data=@your-image.jpg;type=image/jpeg'

我只能找到带参数的示例。我已经尝试了一切,alamofire 和标准 url 会话

【问题讨论】:

过程是一样的。只是不要向有效负载添加任何参数。如果参数代码打扰您,您可以将其注释掉。例如,如果使用 Alamofire,请不要提供任何参数。这是可选的。 【参考方案1】:

由于某种原因,只有 Alamofire 有效,这是我使用的最后一种方法。

AF.upload(
              multipartFormData:  multipartFormData in
                  multipartFormData.append(image.jpegData(compressionQuality: 0.8)!, withName: UUID().uuidString, fileName: "file.jpeg", mimeType: "image/jpg")
          ,
              to: "https://someurl.com", method: .post , headers: headers)
            .uploadProgress(queue: .main, closure:  progress in
                //Current upload progress of file
                print("Upload Progress: \(progress.fractionCompleted)")
                    )
            .responseJSON(completionHandler:  data in
                //Do what ever you want to do with response
                print(data)
                    )

【讨论】:

以上是关于Swift 上传 UIImage 与多部分形式没有参数的主要内容,如果未能解决你的问题,请参考以下文章

从 Swift 上传 PDF 文件会产生空白 PDF

将一张图像分成多个部分后,如何在 Swift 中使用 UIImage 数组?

在 Swift 中上传带参数的图像

如何在swift中从UIImage获取图像扩展/格式

快速文件上传java rest api mimepull关闭问题与多部分表单数据

将图像而不是 UIImage 上传到 Firestore