加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 无法打开文件“xxx.mp4”,因为您无权查看它

发布时间:2020-12-14 05:00:58 所属栏目:百科 来源:网络整理
导读:我使用Alamofire方法multipartFormData.append(URL,withName:“file”)将视频上传到服务器,但我收到一条错误消息: multipartEncodingFailed(Alamofire.AFError.MultipartEncodingFailureReason.bodyPartFileNotReachableWithError(file:///var/mobile/Medi
我使用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()
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读