无法打开文件“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”,因为您无权查看它

Xcode 9.4 无法打开文件“my_app”,因为您无权查看它

Xcode 6.1 - 无法打开 Nib,因为您无权查看它

项目文件无法构建错误您无权查看它

获取“无法打开应用程序,因为您无权查看它。 “将项目代码从swift 2.2转换为swift 3.0之后