Alamofireに画像をアップロードしようとしている間、私は3日間立ち往生しています。アイデアはAlamofireがいくつかのPHPコードでサーバにそれを送るということです。さまざまな場所で試してみると、いくつかのコードがうまくいくはずですが、Alamofireのサーバー側のドキュメントは恐ろしいものです。Alamofireを使ってすぐに画像をアップロードすることはできません。
let imageData = UIImageJPEGRepresentation(imageFile!, 1)!
Alamofire.upload(
multipartFormData: { multipartFormData in
multipartFormData.append(imageData, withName: "image", fileName: "image.jpeg", mimeType: "file/jpeg")
},
to: "https://someadress.com/post/upload.php",
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
debugPrint(response)
}
case .failure(let encodingError):
print(encodingError)
}
}
)
これは、サーバに画像をアップロードする必要がありますが、私が持っている:
迅速3への最近の更新はあまり賢いお答えしていません...ここで
は私スウィフト3のコードですサーバー上に保存されているイメージを適切に取得する方法がわかりません。サーバーはファイルの新しい情報を生成するので、ファイルの情報は実際には必要ありません。その名前をアプリに送り返す必要があります。
私はSwift 3とPHPでJSONを扱う方法を知っています。これは前に行っています。私は基本的な情報を元に戻しているので、少なくとも何かがサーバーにアップロードされることも確かに知っています。
以下のPHPコードはほとんど確かに良くありませんが、ほとんどのテストでした。事前に任意の助け
<?php
// get the file data
$fileData = file_get_contents('php://input');
// sanitize filename
$fileName = preg_replace("([^\w\s\d\-_~,;:\[\]\(\).])", '', $fileData);
// save to disk
$fileLocation = "../images/" . $fileName;
file_put_contents($fileLocation, $fileData);
if (empty($fileData)) {
$response = array("error" => "no data");
}
else {
$response = array("error" => "ok " . $fileName);
}
echo json_encode($response);
?>
感謝:)
P.S.私は素早くすることができますので、穏やかにしてください;)
私はそれを修正!私は数日でこれをドキュメントに追加しようとしています! – NotBramKorsten
こんにちは、地域社会に役立つ解決策を教えてください。ありがとう – Sam
@Sam Done!誰かを助けることを願っています! – NotBramKorsten