Загрузить изображение с Alamofire, Swift 3 - PullRequest
1 голос
/ 02 июля 2019

Для загрузки изображения на сервер я использую Alamofire 4.4 и Swift 3. Swager информация:

curl -X POST "url/id/upload" -H "accept: application/json" -H "Authorization: Bearer token" -H "Content-Type: multipart/form-data" -F "file=@craneB.png;type=image/png"

Мой код Swift:

let headers = [
        "Authorization": "Bearer \(GlobalToken.appToken)",
        "Content-Type": "multipart/form-data" ]
    let url = BaseUrl+"1f510b93-5177-4880-447d-08d6fe7a9498"+"/upload"
    let data = UIImageJPEGRepresentation(selectedImage, 0.9)

    Alamofire.upload(multipartFormData: { (multipartFormData) in

        if let data = data{
           multipartFormData.append(data, withName: "name", fileName: "filename", mimeType: "image/png")
        }

    }, usingThreshold: UInt64.init(), to: url, method: .post, headers: headers) { (result) in
        switch result{
        case .success(let upload, _, _):
           // upload.validate(statusCode: 200..<299)
            upload.responseJSON{ response in
                print("Succesfully uploaded")


                switch response.result {
                case .success(let JSON):

                case .failure(_):

                }
                if let err = response.error{
                    print(err)
                    return
                }
            }
            upload.uploadProgress(closure: { (progress) in
                              })
        case .failure(let error):
            print("Error in upload: \(error.localizedDescription)")

        }
    }

Respons: Прогресс загрузки: 1.0 Успешно загружено. Но у меня есть ошибка:

POST BaseUrl / 1f510b93-5177-4880-447d-08d6fe7a9498 / upload (500) { Сообщение = "Внутренняя ошибка сервера. - System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта. \ N в MaterialService.UploadAsync (идентификатор Guid, файл IFormFile)

Я направляю Id в URL, файл с multipartFormData. Загрузить на Sawager это работа. TY

...