iPhoneで撮影した写真をポストする処理を作成しています。PHP側でポストしたデータをpngにで受け取っています。しかし、pngの写真が真っ白になります。写真がうまくポストできてないようです。
postmanを利用して、pngファイルをポストするとうまくいきました。
swift3
PHP
amazon linux
を利用しています。
swiftのソースは画像をポストしているところ、PHPはポストした画像を受け取り、任意の場所に保存する処理をそれぞれアップしています。
// swiftのソース
@IBAction func postbtn(_ sender: Any) { let data = UIImagePNGRepresentation(image1) print(data) Alamofire.upload( multipartFormData: { multipartFormData in // 送信する値の指定をここでします multipartFormData.append(data!, withName: "test", fileName: "test.png", mimeType: "image/png") }, to: "https://example.com/post_api/upload_image", encodingCompletion: { encodingResult in switch encodingResult { case .success(let upload, _, _): upload.responseJSON { response in // 成功 print("成功") } case .failure(let encodingError): // 失敗 print(encodingError) } } ) } }
PHPソース
public function upload_image() { $image = file_get_contents("php://input"); $date = date('YmdHis'); $image_name = $date .'.png'; file_put_contents('/home/example/htdocs/upload_file/' . $image_name,$image); $json_file = array( 'image_name' => $image_name ); $this->output ->set_content_type('application/json') ->set_output(json_encode($json_file)); }
-聞きたいこと
原因を調査したいのですが、どのように調べたらいいのかがよくわかりません。
また、原因として考えられることはなんでしょうか。
お願いします。
あなたの回答
tips
プレビュー