upload file with Alamofire swift 4











up vote
-2
down vote

favorite












I'm trying to upload image using Alamofire (swift 4.2), but when converting image to data I got this error
Extra argument 'compressionQuality' in call



the code is



import Foundation
import SwiftyJSON
import Alamofire

class APIUpload {
class func createPhoto(photo: UIImage, completion: @escaping (_ error:Error?, _ success: Bool)->Void){
let url = "http://www.fb.test/photo.php"
Alamofire.upload(multipartFormData: { (form: MultipartFormData) in
let data = photo.jpegData(compressionQuality: 1.0){
form.append(data:Data, withName:"photo",fileName:"photo.jpeg",mimeType:"image/jpeg")
}
}, usingThreshold: SessionManager.multipartFormDataEncodingMemoryThreshold, to: url, method: .post, headers: nil) { (result: SessionManager.MultipartFormDataEncodingResult) in
switch result {
case .failure(let error):
print(error)
completion(error, false)
case .success(request: let upload, streamingFromDisk: _, streamFileURL: _):
upload.uploadProgress(closure: { (progress: Progress) in
print(progress)
})
upload.responseJSON(completionHandler: { (response: DataResponse<Any>) in
switch response.result{
case .failure(let error):
print(error)
case .success(let value):
let json = JSON(value)
print(json)
completion(nil, true)
}
})
}
}
}
}


error
enter image description here










share|improve this question






















  • I suspect the error message is a little misleading here. Why is form.append inside a closure at the end of jpegData?
    – John Montgomery
    Nov 8 at 19:40















up vote
-2
down vote

favorite












I'm trying to upload image using Alamofire (swift 4.2), but when converting image to data I got this error
Extra argument 'compressionQuality' in call



the code is



import Foundation
import SwiftyJSON
import Alamofire

class APIUpload {
class func createPhoto(photo: UIImage, completion: @escaping (_ error:Error?, _ success: Bool)->Void){
let url = "http://www.fb.test/photo.php"
Alamofire.upload(multipartFormData: { (form: MultipartFormData) in
let data = photo.jpegData(compressionQuality: 1.0){
form.append(data:Data, withName:"photo",fileName:"photo.jpeg",mimeType:"image/jpeg")
}
}, usingThreshold: SessionManager.multipartFormDataEncodingMemoryThreshold, to: url, method: .post, headers: nil) { (result: SessionManager.MultipartFormDataEncodingResult) in
switch result {
case .failure(let error):
print(error)
completion(error, false)
case .success(request: let upload, streamingFromDisk: _, streamFileURL: _):
upload.uploadProgress(closure: { (progress: Progress) in
print(progress)
})
upload.responseJSON(completionHandler: { (response: DataResponse<Any>) in
switch response.result{
case .failure(let error):
print(error)
case .success(let value):
let json = JSON(value)
print(json)
completion(nil, true)
}
})
}
}
}
}


error
enter image description here










share|improve this question






















  • I suspect the error message is a little misleading here. Why is form.append inside a closure at the end of jpegData?
    – John Montgomery
    Nov 8 at 19:40













up vote
-2
down vote

favorite









up vote
-2
down vote

favorite











I'm trying to upload image using Alamofire (swift 4.2), but when converting image to data I got this error
Extra argument 'compressionQuality' in call



the code is



import Foundation
import SwiftyJSON
import Alamofire

class APIUpload {
class func createPhoto(photo: UIImage, completion: @escaping (_ error:Error?, _ success: Bool)->Void){
let url = "http://www.fb.test/photo.php"
Alamofire.upload(multipartFormData: { (form: MultipartFormData) in
let data = photo.jpegData(compressionQuality: 1.0){
form.append(data:Data, withName:"photo",fileName:"photo.jpeg",mimeType:"image/jpeg")
}
}, usingThreshold: SessionManager.multipartFormDataEncodingMemoryThreshold, to: url, method: .post, headers: nil) { (result: SessionManager.MultipartFormDataEncodingResult) in
switch result {
case .failure(let error):
print(error)
completion(error, false)
case .success(request: let upload, streamingFromDisk: _, streamFileURL: _):
upload.uploadProgress(closure: { (progress: Progress) in
print(progress)
})
upload.responseJSON(completionHandler: { (response: DataResponse<Any>) in
switch response.result{
case .failure(let error):
print(error)
case .success(let value):
let json = JSON(value)
print(json)
completion(nil, true)
}
})
}
}
}
}


error
enter image description here










share|improve this question













I'm trying to upload image using Alamofire (swift 4.2), but when converting image to data I got this error
Extra argument 'compressionQuality' in call



the code is



import Foundation
import SwiftyJSON
import Alamofire

class APIUpload {
class func createPhoto(photo: UIImage, completion: @escaping (_ error:Error?, _ success: Bool)->Void){
let url = "http://www.fb.test/photo.php"
Alamofire.upload(multipartFormData: { (form: MultipartFormData) in
let data = photo.jpegData(compressionQuality: 1.0){
form.append(data:Data, withName:"photo",fileName:"photo.jpeg",mimeType:"image/jpeg")
}
}, usingThreshold: SessionManager.multipartFormDataEncodingMemoryThreshold, to: url, method: .post, headers: nil) { (result: SessionManager.MultipartFormDataEncodingResult) in
switch result {
case .failure(let error):
print(error)
completion(error, false)
case .success(request: let upload, streamingFromDisk: _, streamFileURL: _):
upload.uploadProgress(closure: { (progress: Progress) in
print(progress)
})
upload.responseJSON(completionHandler: { (response: DataResponse<Any>) in
switch response.result{
case .failure(let error):
print(error)
case .success(let value):
let json = JSON(value)
print(json)
completion(nil, true)
}
})
}
}
}
}


error
enter image description here







swift alamofire






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 8 at 19:34









ethar

1




1












  • I suspect the error message is a little misleading here. Why is form.append inside a closure at the end of jpegData?
    – John Montgomery
    Nov 8 at 19:40


















  • I suspect the error message is a little misleading here. Why is form.append inside a closure at the end of jpegData?
    – John Montgomery
    Nov 8 at 19:40
















I suspect the error message is a little misleading here. Why is form.append inside a closure at the end of jpegData?
– John Montgomery
Nov 8 at 19:40




I suspect the error message is a little misleading here. Why is form.append inside a closure at the end of jpegData?
– John Montgomery
Nov 8 at 19:40












1 Answer
1






active

oldest

votes

















up vote
-1
down vote













Signature of jpegData



func jpegData(compressionQuality: CGFloat) -> Data?


so you need



if let data = photo.jpegData(compressionQuality: 1.0){
form.append(data:data, withName:"photo",fileName:"photo.jpeg",mimeType:"image/jpeg")
}





share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














     

    draft saved


    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53214928%2fupload-file-with-alamofire-swift-4%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    -1
    down vote













    Signature of jpegData



    func jpegData(compressionQuality: CGFloat) -> Data?


    so you need



    if let data = photo.jpegData(compressionQuality: 1.0){
    form.append(data:data, withName:"photo",fileName:"photo.jpeg",mimeType:"image/jpeg")
    }





    share|improve this answer

























      up vote
      -1
      down vote













      Signature of jpegData



      func jpegData(compressionQuality: CGFloat) -> Data?


      so you need



      if let data = photo.jpegData(compressionQuality: 1.0){
      form.append(data:data, withName:"photo",fileName:"photo.jpeg",mimeType:"image/jpeg")
      }





      share|improve this answer























        up vote
        -1
        down vote










        up vote
        -1
        down vote









        Signature of jpegData



        func jpegData(compressionQuality: CGFloat) -> Data?


        so you need



        if let data = photo.jpegData(compressionQuality: 1.0){
        form.append(data:data, withName:"photo",fileName:"photo.jpeg",mimeType:"image/jpeg")
        }





        share|improve this answer












        Signature of jpegData



        func jpegData(compressionQuality: CGFloat) -> Data?


        so you need



        if let data = photo.jpegData(compressionQuality: 1.0){
        form.append(data:data, withName:"photo",fileName:"photo.jpeg",mimeType:"image/jpeg")
        }






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 8 at 19:44









        Sh_Khan

        34.2k41125




        34.2k41125






























             

            draft saved


            draft discarded



















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53214928%2fupload-file-with-alamofire-swift-4%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Schultheiß

            Verwaltungsgliederung Dänemarks

            Liste der Kulturdenkmale in Wilsdruff