У меня тоже было это сообщение, потому что сегодня я решил переместить мой другой jdk в тот же каталог. Я решил удалить весь программный менеджер окна. После этого, конечно, я получил сообщение ниже.
«Не удается найти установку java в указанном jdkhome C: \ Program Files (x86) \ Java \ jdk1.7.0_60 Вы хотите попробовать использовать версию по умолчанию?"
Новая установка jdk не решает проблему. Хорошо, вы можете настроить это в меню «Инструменты»> «Java-платформы», но в моем случае мне пришлось исправить мой netbeans.conf
. У меня была строка ниже
netbeans_jdkhome="C:\Program Files\Java\jdk1.7.0_60"
, и я заменил ее на
netbeans_jdkhome="C:\devtools\Java\jdk1.8.0_25"
Alamofire 5 больше не требует encodingCompletion
! Вместо этого многокомпонентное кодирование формы выполняется как часть стандартного теперь асинхронного процесса запроса и возвращает ошибки в Request
, и они доступны во время вызовов validate
и response*
.
Пожалуйста, измените в соответствии с вашими потребностями
func upload(image: Data, to url: Alamofire.URLRequestConvertible, params: [String: Any]) {
AF.upload(multipartFormData: { multiPart in
for (key, value) in params {
if let temp = value as? String {
multiPart.append(temp.data(using: .utf8)!, withName: key)
}
if let temp = value as? Int {
multiPart.append("\(temp)".data(using: .utf8)!, withName: key)
}
if let temp = value as? NSArray {
temp.forEach({ element in
let keyObj = key + "[]"
if let string = element as? String {
multiPart.append(string.data(using: .utf8)!, withName: keyObj)
} else
if let num = element as? Int {
let value = "\(num)"
multiPart.append(value.data(using: .utf8)!, withName: keyObj)
}
})
}
}
multiPart.append(image, withName: "file", fileName: "file.png", mimeType: "image/png")
}, with: url)
.uploadProgress(queue: .main, closure: { progress in
//Current upload progress of file
print("Upload Progress: \(progress.fractionCompleted)")
})
.responseJSON(completionHandler: { data in
//Do what ever you want to do with response
})
}