Php 我无法在Alamofire 4.0 multipartform上载中获得与图像一起传递的参数
我无法通过多部分数据上传读取php中的参数。我使用的是Alamofire 4和swift 3。下面是我的代码:Php 我无法在Alamofire 4.0 multipartform上载中获得与图像一起传递的参数,php,upload,swift3,alamofire,multipartform-data,Php,Upload,Swift3,Alamofire,Multipartform Data,我无法通过多部分数据上传读取php中的参数。我使用的是Alamofire 4和swift 3。下面是我的代码: var parameters:[String: String] parameters = [ "ID": self.fieldNote.ID, "createdBy": self.fieldNote.createdBy, "workOrderID": self.fieldNote.w
var parameters:[String: String]
parameters = [
"ID": self.fieldNote.ID,
"createdBy": self.fieldNote.createdBy,
"workOrderID": self.fieldNote.workOrderID,
"customerID": self.fieldNote.customerID,
"note" : self.fieldNote.note,
"status":"0",
"imageEdit":String(self.imageEdit)
]
print("parameters = \(parameters)")
Alamofire.upload(
multipartFormData: { multipartFormData in
for (key, value) in parameters {
multipartFormData.append(value.data(using: .utf8)!, withName: key)
}
multipartFormData.append(UIImageJPEGRepresentation(self.imageView.image!, 1)!, withName: "pic", fileName: "user.jpg", mimeType: "image/jpeg")
},
to: "http://www.___.com/cp/app/functions/upload.php",
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
debugPrint("SUCCESS RESPONSE: \(response)")
}
upload.responseString { response in
debugPrint("SUCCESS RESPONSE: \(response)")
}
case .failure(let encodingError):
print("ERROR RESPONSE: \(encodingError)")
}
}
)
php:
foreach($\u文件为$key=>$value){
回声“;
回声“;
回显“$key=”。$key;
回声“;
回声“;
回显“$value=”。$value;
回声“;
回声“;
}
只是在继续php工作之前尝试回显传递的参数。
任何帮助都会很好。
谢谢我想出了有效的语法
var parameters:[String:String]
parameters = [
"ID": self.fieldNote.ID,
"createdBy": self.fieldNote.createdBy,
"workOrderID": self.fieldNote.workOrderID,
"customerID": self.fieldNote.customerID,
"note" : self.fieldNote.note,
"status":"0",
"imageEdit":String(self.imageEdit)
]
print("parameters = \(parameters)")
let URL = try! URLRequest(url: "http://www.___.com/cp/app/functions/upload.php", method: .post, headers: nil)
Alamofire.upload(multipartFormData: { (multipartFormData) in
print("alamofire upload")
if(self.imagePicked == true || self.imageEdit == true){
multipartFormData.append(UIImageJPEGRepresentation(self.imageView.image!, 1)!, withName: "pic", fileName: "swift_file.jpeg", mimeType: "image/jpg")
}
for (key, value) in parameters {
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
}
}, with: URL, encodingCompletion: { (result) in
print("result = \(result)")
switch result {
case .success(let upload, _, _):
upload.uploadProgress(closure: { (Progress) in
print("Upload Progress: \(Progress.fractionCompleted)")
})
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)")
}
}
upload.responseString { response in
debugPrint("SUCCESS RESPONSE: \(response)")
}
case .failure(let encodingError):
print(encodingError)
}
})
php:
var parameters:[String:String]
parameters = [
"ID": self.fieldNote.ID,
"createdBy": self.fieldNote.createdBy,
"workOrderID": self.fieldNote.workOrderID,
"customerID": self.fieldNote.customerID,
"note" : self.fieldNote.note,
"status":"0",
"imageEdit":String(self.imageEdit)
]
print("parameters = \(parameters)")
let URL = try! URLRequest(url: "http://www.___.com/cp/app/functions/upload.php", method: .post, headers: nil)
Alamofire.upload(multipartFormData: { (multipartFormData) in
print("alamofire upload")
if(self.imagePicked == true || self.imageEdit == true){
multipartFormData.append(UIImageJPEGRepresentation(self.imageView.image!, 1)!, withName: "pic", fileName: "swift_file.jpeg", mimeType: "image/jpg")
}
for (key, value) in parameters {
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
}
}, with: URL, encodingCompletion: { (result) in
print("result = \(result)")
switch result {
case .success(let upload, _, _):
upload.uploadProgress(closure: { (Progress) in
print("Upload Progress: \(Progress.fractionCompleted)")
})
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)")
}
}
upload.responseString { response in
debugPrint("SUCCESS RESPONSE: \(response)")
}
case .failure(let encodingError):
print(encodingError)
}
})
$ID = intval($_POST['ID']);
$note = $db->real_escape_string($_POST['note']);
$customerID = intval($_POST['customerID']);
$woID = intval($_POST['workOrderID']);
$woItemID = intval($_POST['workOrderItemID']);
$createdBy = intval($_POST['createdBy']);
$status = intval($_POST['status']);
$imageEdit = boolval($_POST['imageEdit']);
// check $_FILES['pic'] not empty
if(!isset($_FILES['pic']) || !is_uploaded_file($_FILES['pic']['tmp_name']))
{
$hasImg = false;
} else {
$hasImg = true;
}