का उपयोग करके आईओएस से PHP अपलोड अपलोड करें मैं आईओएस से सर्वर पर 3 PHP छवियों को अपनी PHP सेवा में अपलोड करने की कोशिश कर रहा हूं। किसी कारण से फ़ोल्डर पोस्ट करने के बाद खाली रहता है, लेकिन शेष डेटा चला जाता है और mysql में जारी रहता है।अलामोफ़ीयर
मेरे आईओएस कोड:
Alamofire.upload(.POST, urlString, multipartFormData: {
multipartFormData in
if (firstPhoto != nil) {
if let firstImageData = UIImageJPEGRepresentation(firstImage!, 0.6) {
print("uploading image");
multipartFormData.appendBodyPart(data: firstImageData, name: "firstImage", fileName: "firstImage.png", mimeType: "image/png")
}
}
if (secondPhoto != nil) {
if let secondImageData = UIImageJPEGRepresentation(secondImage!, 0.6) {
print("uploading image");
multipartFormData.appendBodyPart(data: secondImageData, name: "secondImage", fileName: "secondImage.png", mimeType: "image/png")
}
}
if (thirdPhoto != nil) {
if let thirdImageData = UIImageJPEGRepresentation(thirdImage!, 0.6) {
print("uploading image");
multipartFormData.appendBodyPart(data: thirdImageData, name: "thirdImage", fileName: "thirdImage.png", mimeType: "image/png")
}
}
if let imageData = UIImageJPEGRepresentation(firstImage!, 0.6) {
print("uploading image");
multipartFormData.appendBodyPart(data: imageData, name: "image", fileName: "file.png", mimeType: "image/png")
}
if let imageData = UIImageJPEGRepresentation(firstImage!, 0.6) {
print("uploading image");
multipartFormData.appendBodyPart(data: imageData, name: "image", fileName: "file.png", mimeType: "image/png")
}
for (key, value) in parameters {
multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
}
}, encodingCompletion: {
encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
print("Запрос отправлен")
upload.responseJSON { response in
print(response.request) // original URL request
print(response.response) // URL response
print(response.data) // server data
print(response.result) // result of response serialization
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
completion(response.result.value)
}
case .Failure(let encodingError):
print(encodingError)
completion(nil)
}
})
}
मेरी पीएचपी पर मैं अगर मैं कुछ भी यहाँ याद कर रहा हूँ यकीन नहीं है:
<?php
require_once 'Functions/common_functions.php';
require_once 'Functions/engine.php';
require_once 'Functions/json.php';
require_once 'Functions/check_token.php';
if (count($_REQUEST) == 6) {
foreach($_REQUEST as $k => $v) {
if (strlen($k) > 0 && strlen($v) > 0) {
$_REQUEST[$mysqli->real_escape_string($k)] = $mysqli->real_escape_string($v);
} else {
die(errorJSON("Empty parameter", "666"));
}
}
$userID = checkAccessToken($_REQUEST['access_token'], $mysqli);
if ($userID == 0) {
die(errorJSON("Incorrect access token", "666"));
}
$mysqli->query('INSERT INTO Book (title, authorID, detail, price, categoryID, conditionText) VALUES ("'.$_REQUEST['title'].'", "'.$userID.'", "'.$_REQUEST['detail'].'", "'.$_REQUEST['price'].'", "'.$_REQUEST['categoryID'].'", "'.$_REQUEST['condition'].'")');
$insertID = $mysqli->insert_id;
if ($insertID > 0) {
savePhotos($mysqli, $insertID);
$message = book($insertID, $userID, $mysqli);
die(successJSON($message));
} else {
die(errorJSON("Failed insert book in database", "666"));
}
} else {
die(errorJSON("Incorrect count of parameter" . count($REQUEST) . count($_POST), "666"));
}
function savePhotos($mysqli, $bookID) {
if(!is_dir('/home/thebakpa/resources/book_photos/')) {
mkdir('/home/thebakpa/resources/book_photos/', 0777, true);
}
try {
$uploaddir = '/home/thebakpa/resources/book_photos/';
$file = $_FILES['userfile']['photo1'];
if ($file != 0) {
$uploadfile = $uploaddir . $file;
$name = "photo1-".$bookID;
$photoPath = '/home/thebakpa/resources/book_photos/'.$name.'.jpg';
$mysqli->query('UPDATE Book SET photo1='.$photoPath.' WHERE bookID='.$bookID.'');
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
}
$file = $_FILES['userfile']['photo2'];
if ($file != 0) {
$uploadfile = $uploaddir . $file;
$name = "photo2-".$bookID;
$photoPath = '/home/thebakpa/resources/book_photos/'.$name.'.jpg';
$mysqli->query('UPDATE Book SET photo1='.$photoPath.' WHERE bookID='.$bookID.'');
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
}
$file = $_FILES['userfile']['photo3'];
if ($file != 0) {
$uploadfile = $uploaddir . $file;
$name = "photo3-".$bookID;
$photoPath = '/home/thebakpa/resources/book_photos/'.$name.'.jpg';
$mysqli->query('UPDATE Book SET photo1='.$photoPath.' WHERE bookID='.$bookID.'');
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
}
} catch(Exception $ex){
echo "ERROR:".$ex->GetMessage()."\n";
exit(1);
}
}
?>
मुझे वास्तव में यह प्रश्न पसंद है। बस इसे बाउंटी टाइमर पर 35 मिनट के साथ छोड़ दिया। मुझे पता है कि आपके किसी भी उत्तर में वोट नहीं हैं। कृपया मुझे सूचित करें यदि यह दोबारा बक्षीस के लिए जाता है और अनसुलझा है। मैं थोड़ी अधिक समय के साथ अपने पोस्ट कोड के आसपास एक समाधान बनाना चाहता हूं। जोड़ना चाहिए, मैं बाहर बक्षीस के साथ हल करेंगे। –
मुझे लगता है कि उपयोगकर्ता ने प्रश्न पोस्ट किया है इस सवाल पर सक्रिय नहीं है। क्योंकि मेरा जवाब सही है और मैंने नमूना कोड के साथ भी कोशिश की है लेकिन कोई प्रतिक्रिया नहीं है। –
कूल मैं बस तुम्हारा पढ़ रहा था। मैंने इसे पहले वोट दिया ... लेकिन फिर खुद को रोक दिया क्योंकि मैंने इसका परीक्षण नहीं किया था। मैं आपको वोट दूंगा;) सही दिखता है। –