5
我想使用生成的swift客戶端發佈圖像。大量的研發後,我想指定這個最好的方法是:從生成的swagger代碼中快速客戶端POST圖像
/user/profilepicture:
put:
description: |
upload profile picture of user
consumes:
- multipart/form-data
parameters:
- name: profilePhoto
in: formData
type: file
生成的快捷客戶端功能的簽名是:
public class func usersProfilepicturePut(profilePhoto profilePhoto: NSURL? = nil, completion: ((error: ErrorType?) -> Void))
我遇到的問題是NSURL
類型。原因是從UIImage
中獲得NSURL
似乎非常困難,特別是如果照片是從UIImagePickerController
的相機拍攝的。
然後,我不想將參數的類型更改爲字符串,並使用base64編碼,因爲它增加了很多開銷將圖像轉換爲字符串。
- 有人可以驗證我的yaml規範是否正確? (我正在選擇文件類型,因爲我可以用來上傳照片的唯一其他數據類型是字符串,格式爲Byte,但這會導致開銷將字符串中的照片轉換爲
- 如果確實如此,有沒有人知道是否有辦法從
UIImage
得到NSURL
。第二個問題存在,但是[Getting the URL of picture taken by camera with Photos Framework]中的答案沒有返回一個URL,而是一個字符串標識符。其他類似問題的答案都表明要保存圖像和然後再檢索它只是爲了得到一個NSURL
似乎哈克。 所以我應該改變生成的實現來接受NSData
類型,或者你有什麼更好的建議?
你是怎麼解決你的問題的? – Malder