Swift 3 上传视频到 Cloudinary 失败

标签 swift cloudinary

我正在尝试使用 Swift 3 从我确定存在的视频网址将视频上传到 Cloudinary(未签名上传)。 我是想把本地URL的内容,转成Data,然后上传数据。我收到一条消息:

Error Domain=com.cloudinary.error Code=400 "(null)" UserInfo={message=Invalid image file}

这是我的上传代码:

func approveFunc(){
    let config = CLDConfiguration(cloudName: "xxxxx", apiKey: "xxxxxx")
    let cloudinary = CLDCloudinary(configuration: config)

    let params = CLDUploadRequestParams(params: ["resource_type": "video" as AnyObject])
    var data: Data?
    do{
        data = try NSData(contentsOfFile: (self.videoURL.relativePath), options: NSData.ReadingOptions.alwaysMapped) as Data
    } catch {

    }
    cloudinary.createUploader().upload(data: data!, uploadPreset: "fycdpm" , params: params, progress: nil, completionHandler: {(response, error) in
        print("done")
        print(response)
        print(error)
    })
}

我也试过直接从文件 url 上传:

    cloudinary.createUploader().upload(url: self.videoURL, uploadPreset: "fycdp7cm" , params: params, progress: nil, completionHandler: {(response, error) in
        print("done")
        print(response)
        print(error)
    })

同样的错误

最佳答案

resource_type 似乎没有传递到服务器,因此 Cloudinary 期望上传图像(默认值)和错误。 您是否尝试过执行以下操作?

let params = CLDUploadRequestParams().setResourceType(.video)

引用以下内容: https://github.com/cloudinary/cloudinary_ios/blob/master/CloudinaryTests/NetworkTests/UploaderTests.swift#L81-L104

关于Swift 3 上传视频到 Cloudinary 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44054142/

相关文章:

iOS - 在 MVVM 中动态创建控件

ios - UILabel 内的按钮/链接切换到另一个 ViewController

python - 如何在 Django 模板中访问和显示 Cloudinary 上传的图片

node.js - 下载解压上传cloudinary

javascript - 上传到 Cloudinary API - 文件参数无效

reactjs - Cloudinary openUploadWidget 在我的 React 应用程序中抛出错误

ios - Swift tableview numberOfRowsInSection 返回 nil fatal error 可选值

ios - 淡入淡出图像数组 swift

javascript - 通过Node将react-webcam的base64图像上传到cloudinary

swift - 如何通过 Swift 3 中的所有 Controller 使用声音文件