【问题标题】:Swift 3 upload video to Cloudinary failsSwift 3 将视频上传到 Cloudinary 失败
【发布时间】:2017-10-18 15:28:52
【问题描述】:

我正在尝试使用 Swift 3 将视频上传到 Cloudinary(未签名上传),来自我确定存在的视频网址。 我正在尝试获取本地 URL 的内容并将其转换为数据,然后上传数据。我收到一条消息:

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)
    })

得到同样的错误

【问题讨论】:

    标签: swift cloudinary


    【解决方案1】:

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

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

    请参阅以下内容以供参考: https://github.com/cloudinary/cloudinary_ios/blob/master/CloudinaryTests/NetworkTests/UploaderTests.swift#L81-L104

    【讨论】:

      猜你喜欢
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 2020-05-18
      • 2017-05-25
      • 2019-09-21
      • 1970-01-01
      • 2018-09-10
      • 1970-01-01
      相关资源
      最近更新 更多