Flask API的Alamofire 5多部分图片上传问题迅速

问题描述

我正尝试通过Alamofire 5多部分数据上传单个图像,API在Postman以及android方面均能正常工作,但在iOS方面却无法正常工作。 API是在Python flask中开发的。图像是从相机拍摄的,并使用JPEGCompression上传图像。

以下是我的代码

func postMultipartData(imageData: Data,completion:@escaping (Result<AccuracyModel?,ErrorResponse>) -> Void) {
        let url = APIConstant.ImageAccuracyBaseUrl.BASEURL
        let mimeType = "image/jpeg"
        
        let headers: HTTPHeaders = [
               "Content-Type": ContentType.multipart.rawValue
        ]
        
        AF.upload(multipartFormData: { (multipartFormData) in
            
            multipartFormData.append(imageData,withName: "file",fileName: "file123.jpg",mimeType: mimeType)
            print(multipartFormData.boundary)
        },to: url,usingThreshold: UInt64.init(),method: .post,headers: headers).response { response in
            switch response.result {
            case .success(_):
                if response.response?.statusCode == 200 || response.response?.statusCode == 201 {
                    do {
                        
                        if let data = response.data {
                            
                            let json = try JSONSerialization.jsonObject(with: data,options: []) as? [String: Any]
                            print(json ?? "")
                            
                            let decodedData = try! JSONDecoder().decode(AccuracyModel.self,from: data)
                            
                            dispatchQueue.main.async {
                                completion(.success(decodedData))
                            }
                        } else {
                            print(response)
                        }
                    } catch {
                        completion(Result.failure(self.generateErroModel()!))
                    }
                } else if response.response?.statusCode == 500 {
                    completion(Result.failure(self.generateErroModel()!))
                } else {
                    fallthrough
                }
                
                break
            case .failure(_):
                completion(Result.failure(self.generateErroModel()!))
            }
        }
    }

出于测试目的,api使用的是5000端口,这会发生问题吗? 不需要任何参数,因此不发送任何参数。

我也尝试过使用NSURLSession,但是没有运气。

对于Flask代码,我引用了以下链接https://pytorch.org/tutorials/intermediate/flask_rest_api_tutorial.html

预先感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...