2016-11-03 6 views
-2

私のコードに問題があり、新しいAlamofire 4がウェブを検索しました。Alamofire 4 swift 3ヘッダが投稿されていないMultipartFormDataのアップロード

Alamofire.upload(multipartFormData:{ 
     multipartFormData in 
     multipartFormData.append(tempUrl, withName: self.path)}, 
        usingThreshold:UInt64.init(), 
        to:posturl!, 
        method:.post, 
        headers: Oauthdata.uplodHeader , 
        encodingCompletion: { encodingResult in 
         switch encodingResult { 
         case .success(let upload, _, _): 
          upload.responseJSON { response in 
           debugPrint(response) 
          } 
         case .failure(let encodingError): 
          print(encodingError) 
         } 
    })} catch { 
     print("Somethings not right") 
} 
+0

'Oauthdata.uplodHeader'(sic)とは何ですか?またコードをフォーマットしてください:) – Sajjon

+0

Oauthdata.uplodHeaderはapisのためにapis用に作成されたヘッダーです。これは新しいものです。これはスタックオーバーフローに関する私の最初の投稿です –

+0

ええ、何ですかあなたの問題?それは働いていないのですか? oauthdataヘッダー、実際の値を確認することは興味深いでしょう。また、 '!'を使わないようにしてください。 '' guard re url = posturl else {return} 'を使用してください。 – Sajjon

答えて

0

the docsで述べたRequestAdapterプロトコル、使用してのアプローチを試してみてください:HTTPClientあなたは、このセットアップを実行しているクラスである場合は

class AccessTokenAdapter: RequestAdapter { 
    private let accessToken: String 

    init(accessToken: String) { 
     self.accessToken = accessToken 
    } 

    func adapt(_ urlRequest: URLRequest) throws -> URLRequest { 
     var urlRequest = urlRequest 
     urlRequest.setValue("Bearer " + accessToken, forHTTPHeaderField: "Authorization") 
     return urlRequest 
    } 
} 

class HTTPClient { 

    func setupHeader(with authToken: String) { 
     let sessionManager = SessionManager() 
     sessionManager.adapter = AccessTokenAdapter(accessToken: authToken) 
    } 
} 

を私のコードは、それがURLに呼び出していないPOSTメソッドをスキップします。 ..

+0

となるだろうと助けを借りて私は私のアップロード方法でそれを置く方法? –

+0

あなたは実際に有効なトークンを持っているときに、ログインした後にsetupHeaderを呼び出します! – Sajjon

+0

それは働いてくれてありがたいです.....今、私が知る必要があるのは、どこにパラメータを追加するのかです。 –

関連する問題