質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

1724閲覧

swift3のAlamofireで画像のアップロード方法を教えてください

gorira1321

総合スコア27

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/09/26 16:11

編集2017/09/26 16:13

swift2.3からswift3に移行作業を進めているのですが、
Alamofire4.5.1で画像をアップロードする処理がいまいち分からず困っています。

swift2.3ではこのように書いていました。

Alamofire.upload( "https://object-storage.tyo1.conoha.io/v1/nc_12345/hogehoge/hogehoge.jpeg", method: .put, headers: ["X-Auth-Token": token] as! HTTPHeaders, data: imageData).progress { bytesWritten, totalBytesWritten, totalBytesExpectedToWrite in }.responseString { response in switch response.result { case .Success: print("成功") case .Failure(let error):                     print("失敗") } }

Conohaのオブジェクトストレージに画像をアップするためPUTでしています。
tokenはオブジェクトストレージのトークンです。

swift3でこのように書いてみました。

let urlString = "https://object-storage.tyo1.conoha.io/v1/nc_12345/hogehoge/hogehoge.jpeg" let headers = ["X-Auth-Token": token] as HTTPHeaders! Alamofire.upload(data:imageData, to: urlString as URLConvertible, method: .put, headers: headers) .responseData { response in }

Ambiguous reference to member 'upload(_:to:method:headers:)'
というエラーで型を明示的に宣言しないといけないのか分かりません。

xcodeは9です

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

自己解決しました。

imageDataがData型でないといけないのに2.3の名残でNSData型になっていました。
swift3からData型というのが増えたんですね。

投稿2017/09/27 06:25

gorira1321

総合スコア27

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

"data:" は必要ないのでは?

Swift

1 Alamofire.upload(imageData, to: urlString, method: .put, headers: headers) 2 .responseData { 3 response in 4 }

投稿2017/09/27 06:11

daisuke7

総合スコア1563

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gorira1321

2017/09/27 06:26

回答ありがとうございます。自己解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問