无法打开文件“xxx.mp4”,因为您无权查看它
Posted
技术标签:
【中文标题】无法打开文件“xxx.mp4”,因为您无权查看它【英文标题】:The file “xxx.mp4” couldn’t be opened because you don’t have permission to view it 【发布时间】:2017-03-31 02:12:51 【问题描述】:我使用 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 "文件“IMG_0939.mp4”无法打开,因为您没有查看权限。" 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 allowed"))
我已经打开了隐私 - 照片库使用说明,但我收到了这个错误,我不知道。
我的代码:
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)
)
【问题讨论】:
我刚刚遇到了同样的问题。如果您找到任何解决方法,请分享! 同样的问题!有什么想法吗? 有人遇到过这个问题吗? 【参考方案1】:你需要使用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()
【讨论】:
救命稻草!谢谢老哥 不适合我以上是关于无法打开文件“xxx.mp4”,因为您无权查看它的主要内容,如果未能解决你的问题,请参考以下文章
FinderSync 扩展运行时错误:无法打开该文件,因为您无权查看它
xcode 12:无法打开文件“app name”,因为您无权查看它