내가 Alamofire를 통해 서버의 파일에 동영상을 업로드하려고하지만 난 "데이터"를 가져올 수 없습니다가NSURL은 항상 전무
var videoURL = NSURL(string: "")
//returns Optional(file:///private/var/mobile/Containers/Data/Application/1FB40086-228B-4011-A9D4-7874E2EEF9F4/tmp/4A6AAD76-B899-4B67-8E96-925DA4AE9E93.mov)
let videodata = NSData(contentsOfFile: (videoURL?.absoluteString)!)
//nil
let url = NSURL(fileURLWithPath: (videoURL?.absoluteString)!)
let videodata = NSData(contentsOf: url as URL)
//nil
전무 항상 passed..its 될 것입니다 나는 내가이 작업을 수행하는 데이터는 방법을 리드 할 수있는 경우 :
Alamofire.upload(multipartFormData: { multipartFormData in
multipartFormData.append (videodata as! Data, withName: "file", fileName: "file.mov", mimeType: "video/quicktime")
enter code here
편집 :
내가 오류를 찾을 수 없습니다이 파일을 거기에서 나의 길을 고생 한 당신의 도움으로, 너희들 감사합니다, 하지만 파일이 내 g에 저장되는 것을 볼 수 있습니다. allery, 어떤 단서가 내 하루를 구할 것입니다. absoluteString
를 사용
print (videoURL!)
//returns file:///private/var/mobile/Containers/Data/Application/3F280477-DA16-4A67-AE60-D6247143352E/tmp/1E4AC002-6AD0-41E1-9E0D-A09B697F81F7.mov
print (videoURL!.path!)
// returns /private/var/mobile/Containers/Data/Application/3F280477-DA16-4A67-AE60-D6247143352E/tmp/1E4AC002-6AD0-41E1-9E0D-A09B697F81F7.mov
var videoData = NSData()
let path = videoURL!.path!
if FileManager.default.fileExists(atPath: path) {
}else {
print("Could not fin file at url: \(videoURL!.path!)")
// here it throws file not found
}
'.absoluteString' *이 * 올바른 방법은 경로에 URL을 변환하지, 비교입니다 http://stackoverflow.com/questions/34135305/nsfilemanager-defaultmanager-fileexistsatpath-returns-false-instead- of-true. –
그래, 모든 것을 시도한 종류의 ... videoURL로만 진행되었지만 헛되이 갔다. –
videoUrl은 코드에서 선택 사항이므로 배치하기 만하면됩니다. videoURL 끝! – Sanju