Help us understand the problem. What is going on with this article?

【Swift/php】Alamofireで画像upload&パラメータをPOST

More than 3 years have passed since last update.

Alamofireで画像やファイルをアップロードしつつ、パラメータを渡す方法がわからなかったところ
下記を参考にすることでクライアント側の対応は行うことが出来ました。
ありがとうございます。

1,AlamofireでMultipartFormDataをパラメータ付きでポストする - Qiita
2,Alamofireでmultipart/form-dataリクエスト - Qiita

しかし、PHP側での受け取り方で手こずったのでメモしておきます。
※Swift側の記述は2,の記事を参考に用意済みという前提で進みます

Viewcontrolller.swift
// POSTしたいパラメータ POST値を受け取る際にkeyになるのがnameのstringです。今回はuserIdという文字列でやっていきます
multipartFormData.appendBodyPart(data: "お好きな文字列".dataUsingEncoding(NSUTF8StringEncoding)!, name: "userId" )
// 画像データ nameが受け取る際のkeyになるので重要です(値はなんでもいいけどわかりやすくimgにしておきます)
multipartFormData.appendBodyPart(data: data, name: "img", fileName: "test.png", mimeType: "image/png")

画像、ファイルの受け取り方

get.php
//アップロードが成功されていれば一時保存されている箇所が「tmp_name」に格納されています(自動)
$filePath = $_FILES['img']['tmp_name'];
//そのtmpパスからfileGetContentsで取得!後はお好きなようにどうぞ
$fileData = file_get_contents($filePath);

//自分の場合はGDライブラリを使用していたので下記のような記載で保存しました
//※GDライブラリはPHP4.3以上であれば特にインストールせず使えるようです
$tmpImg = imagecreatefromstring($fileData);

// 圧縮処理、リネームなど処理行う

//サーバー上の格納場所に保存する
$result = ImageJPEG($tmpImg, "サーバー上の保存パス");

POSTパラメータの受け取り方

get.php
//普通にPOSTの値受け取りでいけます
$userId = $_POST['userId'];

以上になります。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away