実現したいこと
wordpressのお問い合わせフォーム(画像ファイルあり)の内容をkintoneに登録したいと考えたいます。
テキスト情報のkintoneへの登録はできるのですが、画像ファイルのアップロードが上手くいきません。
解決策がわかる方がいっらしゃいましたらご教授ください。
エラー情報
{“code”:“GAIA_HM02”,“id”:“9Zb9xmZizjUModDZdGMd”,“message”:“アップロードするHTTPリクエストの形式が正しくありません。HTTPリクエストはマルチパート形式である必要があります。”
利用したソースコード
// APIトークン(アプリ設定画面で発行)
define(“API_TOKEN”, “xxxxxxxxxxxxxxxxxxxxxx”);
// サブドメイン
define(“SUB_DOMAIN”, “xxxxxxxxxxxxxxxxxxxxxx”);
// アプリID
define(“APP_NO”, “xxx”);
// -------------- kintoneへの登録処理 --------------
$fileUploadHeaders = array(
“X-Cybozu-API-Token:”.API_TOKEN,
“contentType: multipart/form-data; boundary=------111111111-------”,
);
$file_path = $_FILES[‘main-img’][‘tmp_name’];
$file_type = $_FILES[‘main-img’][‘type’];
$file_name = $_FILES[‘main-img’][‘name’];
// cURLセッションを初期化する
$curlUploadFile = curl_init(‘https://’. SUB_DOMAIN .‘.cybozu.com/k/v1/file.json’);
// cURLの通信オプションを設定
// メソッド名指定 :HTTP POST
curl_setopt($curlUploadFile, CURLOPT_CUSTOMREQUEST, “POST” );
// curl_exec()を実行時、返り値を文字列で返す
curl_setopt($curlUploadFile, CURLOPT_RETURNTRANSFER, true);
// ヘッダー設定
curl_setopt($curlUploadFile, CURLOPT_HTTPHEADER, $fileUploadHeaders);
// メソッド名指定 :HTTP POST
curl_setopt($curlUploadFile, CURLOPT_POST, true);
// CURLFileオブジェクトの作成 Curlでファイルをアップロードする為に必要 必要なパラメータ: ファイルのパス,ファイルの Mimetype,ファイル名
$file = curl_file_create( $file_path, $file_type, $file_name);
//HTTP “POST” で送信するすべてのデータ設定
curl_setopt($curlUploadFile, CURLOPT_POSTFIELDS, array(‘file’ => $file));
// 実行
$uploadFileRes = curl_exec($curlUploadFile);
// cURLセッションを終了する
curl_close($curlUploadFile);