Próbowałem różnych rzeczy, aby utworzyć szybki odpowiednik tego żądania cURL, ale nie mogłem go uruchomić.ekwiwalent cURL w Swift - iOS
curl -X POST -F "[email protected]/Users/nicolas/sample.png" -F "mode=document_photo" https://api.idolondemand.com/1/api/sync/ocrdocument/v1 -F "apikey=xxx-xxx-xxx-xxx-xxx"
Odpowiedni kod jest zamieszczony poniżej.
func getText (image: UIImage){
let apiKey = "xxx-xxx-xxx-xxx-xxx"
let request = NSMutableURLRequest(URL: NSURL(string: "https://api.idolondemand.com/1/api/sync/ocrdocument/v1")!)
request.HTTPMethod = "POST"
request.addValue(apiKey, forHTTPHeaderField: "apikey")
request.addValue("document_photo", forHTTPHeaderField: "mode")
request.HTTPBody = UIImageJPEGRepresentation(image, 1)
let task = NSURLSession.sharedSession().uploadTaskWithRequest(request, fromData: UIImageJPEGRepresentation(image, 1), completionHandler: {data, response, error -> Void in
if let _ = data {
var error:NSError? = nil
do {
let jsonObject : AnyObject = try NSJSONSerialization.JSONObjectWithData(data!, options: [])
let json = JSON(jsonObject)
if let ocr_results = json["text_block"][0]["text"].string {
self.returnText(ocr_results)
}
} catch let error1 as NSError {
error = error1
print(error)
} catch {
fatalError()
}
}
})
Byłbym szczęśliwy, gdybym otrzymał odpowiedź.
Czego szukałeś, aby znaleźć tę bibliotekę? Ponieważ ta biblioteka nie działa w wersji 2.0, więc mogę wyszukać inną bibliotekę, która wiruje z szybkim 2.0. – NMAC427
Szukałem "danych wieloczęściowych/danych formularzy". Zauważ, że możesz również użyć bibliotek Objective-C, których jest wiele. Większość bibliotek żądań HTTP jest w stanie to zrobić - jeśli mówią, że obsługują wysyłanie plików/wysyłanie, tak się to robi. – Jesper
A także, większość bibliotek zajmie się całkowitym skonfigurowaniem 'NSURLRequest' (więc nie otrzymasz na przykład' NSData', które musisz przypisać do 'HTTPBody'). – Jesper