小编And*_*iou的帖子

使用swift客户端从生成的swagger代码POST图像

我想使用生成的swift-client发布图像.经过大量的研究,我认为指定这个的最好方法是:

/user/profilepicture:
    put:
      description: |
        upload profile picture of user
      consumes:
        - multipart/form-data
      parameters:
        - name: profilePhoto
          in: formData
          type: file
Run Code Online (Sandbox Code Playgroud)

生成的swift客户端函数签名是:

public class func usersProfilepicturePut(profilePhoto profilePhoto: NSURL? = nil, completion: ((error: ErrorType?) -> Void))
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是NSURL类型.原因是看起来很难得到NSURL一个UIImage,特别是如果照片是从相机拍摄的UIImagePickerController.

然后我再次不想将参数的类型更改为字符串,并使用base64编码,因为它会增加很多开销以将图像转换为字符串.

  • 有人可以验证我的yaml规范是否正确?(我选择文件类型,因为我可以用来上传照片的唯一其他数据类型是字符串,格式为Byte,但这会导致在字符串中转换照片的开销.
  • 如果它确实是正确的,有没有人知道是否有办法NSURL从a 获得UIImage.第二个问题存在,但是[ 获取带有Photos Framework的相机拍摄的照片的URL不会返回URL而是返回字符串标识符.类似问题的其他答案都建议保存图像,然后再次检索它只是为了得到一个NSURL看似hacky.那么我应该将生成的实现更改为接受NSData类型,还是有更好的建议?

ios swagger swift

5
推荐指数
1
解决办法
349
查看次数

标签 统计

ios ×1

swagger ×1

swift ×1