我使用Alamofire方法multipartFormData.append(URL,withName:“file”)将视频上传到服务器,但我收到一条错误消息:
multipartEncodingFailed(Alamofire.AFError.MultipartEncodingFailureReason.bodyPartFileNotReachableWithError(file:///var/mobile/Media/DCIM/100APPLE/IMG_0939.mp4,Error Domain=NSCocoaErrorDomain Code=257 “The file “IMG_0939.mp4” Couldn’t be opened because you don’t have permission to view it.” UserInfo={NSURL=file:///var/mobile/Media/DCIM/100APPLE/IMG_0939.mp4,NSFilePath=/var/mobile/Media/DCIM/100APPLE/IMG_0939.mp4,NSUnderlyingError=0x174450d10 {Error Domain=NSPOSIXErrorDomain Code=1 “Operation not permitted”}}))
我已打开隐私 – 照片库使用说明但我收到此错误,我不知道.
我的代码:
alamofireManager?.upload( multipartFormData: { multipartFormData in for i in 0..<videoURLs.count { multipartFormData.append(videoURLs[i],withName: "file") } },to: url + urlString,headers: headers,encodingCompletion: { encodingResult in switch encodingResult { case .success(let upload,_,_): upload.uploadProgress(closure: { (progress) in //Print progress //print(progress) }) upload.responseJSON { response in if let value = response.result.value as? [String: AnyObject]{ success(value) } } case .failure(let encodingError): failture(encodingError) } } )
解决方法
你需要使用
startAccessingSecurityScopedResource
if let url = file.url,url.startAccessingSecurityScopedResource() { multipartFormData.append(url,withName: "some-file.pdf") // After using the resource make sure you stop the access if url.startAccessingSecurityScopedResource() { url.stopAccessingSecurityScopedResource() } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。