我在上传中使用的这段代码(我在教程中找到它)工作成功,但参数未被识别而不是WHERE emp_name ='(插入员工)'它说emp_name =&# 39;'因为我试图用新上传的图片更新网址。请帮忙。我是新手。
func UploadRequest()
{
let url = URL(string: "http://www.example.com/empupload.php")
let request = NSMutableURLRequest(url: url!)
request.httpMethod = "POST"
let boundary = generateBoundaryString()
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
if (imageDetail.image == nil)
{
return
}
let image_data = UIImagePNGRepresentation(imageDetail.image!)
if(image_data == nil)
{
return
}
let body = NSMutableData()
let loadempname = NSMutableURLRequest()
let fname = "test.png"
let mimetype = "image/png"
let postString = "empName=\(empname.text!))"
body.append("--\(boundary)\r\n".data(using: String.Encoding.utf8)!)
body.append("Content-Disposition:form-data; name=\"test\"\r\n\r\n".data(using: String.Encoding.utf8)!)
body.append("hi\r\n".data(using: String.Encoding.utf8)!)
body.append(postString.data(using: String.Encoding.utf8)!)
body.append("--\(boundary)\r\n".data(using: String.Encoding.utf8)!)
body.append("Content-Disposition:form-data; name=\"file\"; filename=\"\(fname)\"\r\n".data(using: String.Encoding.utf8)!)
body.append("Content-Type: \(mimetype)\r\n\r\n".data(using: String.Encoding.utf8)!)
body.append(image_data!)
body.append("\r\n".data(using: String.Encoding.utf8)!)
body.append("--\(boundary)--\r\n".data(using: String.Encoding.utf8)!)
request.httpBody = body as Data
let session = URLSession.shared
let task = session.dataTask(with: request as URLRequest, completionHandler: {
(
data, response, error) in
guard ((data) != nil), let _:URLResponse = response, error == nil else {
print("error")
return
}
if let dataString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
{
print(dataString)
}
})
task.resume()
}
答案 0 :(得分:0)
您可以通过swift3.0中的Alamofire multipartFormData发布图片。以下是示例代码:
let parameters = ["name":"YourName"]
Alamofire.upload(.POST, baseUrl, multipartFormData:
{
multipartFormData in
if let imageData = UIImageJPEGRepresentation(self.imageView.image!, 0.6)
{
multipartFormData.appendBodyPart(data: imageData, name: "keyName", fileName: "photo.jpg", mimeType: "image/jpeg")
}
for (key, value) in parameters
{
if value is String || value is Int
{
multipartFormData.appendBodyPart(data: "\(value)".dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
}
}
}, encodingCompletion:
{
encodingResult in
switch encodingResult
{
case .Success(let upload, _, _):
upload.responseJSON { response in
print(response)
if String(response.result) == "SUCCESS"
{
if(response.result.value!.objectForKey("status")) as! String != "fail"
{
// here you can write success case
}
else
{
}
}
else
{
MyLoadingView.dismiss();
MyAlertView.showErrorAlert("Please try Again" )
}
}
case .Failure(let encodingError):
print(encodingError)
}
})