视频upload到cloudinary上出错

来源:11-3 用七牛上传视频资源(1)

weibo_活力的呱瓜_0

2017-10-06

视频上传到100%的时候显示这个{"error":{"message":"Invalid URL for upload"}} ,没有用七牛是直接传到cloudinary上去的,请问下下面的upload函数有参数错误吗?

_pickVideo(){

    var that = this

    ImagePicker.showImagePicker(options, (res) => {

      if (res.didCancel) {

        return

      }

        var state = _.clone(defaultState)

        var uri = res.uri

        console.log('res:'+JSON.stringify(res));

        state.previewVideo = uri

        state.user = this.state.user


        let folder = 'video'

        let tags = 'app,video'

        let timestamp = Date.now()


        that.setState(state)


        that._getToken({

          type: 'video'

        })

        .catch((err) => {

          console.log(err)

          AlertIOS.alert('upload error')

        })

        .then((data) => {

          if (data && data.success) {

            var token = data.data

            var body = new FormData()

            var signature = 'folder=' + folder + '&tags=' + tags + '&timestamp=' + timestamp + config.CLOUDINARY.api_secret


            signature = sha1(signature)

            console.log('uri:'+uri);

            body.append('folder',folder)

            body.append('signature',signature)

            body.append('tags',tags)

            body.append('timestamp',timestamp)

            body.append('api_key',config.CLOUDINARY.api_key)

            body.append('resource_type','video')

            body.append('token', token)

            body.append('file',{

              type:'video/mp4',

              uri:uri

            })

            that._upload(body, 'video')

          }

        })

    });

  }

下面是

_upload(body, type) {


    var that = this

    var xhr = new XMLHttpRequest()

    var url = config.CLOUDINARY.video


    var state = {}


    state[type + 'UploadedProgress'] = 0

    state[type + 'Uploading'] = true

    state[type + 'Uploaded'] = false


    this.setState(state)

    console.log(state);

    xhr.open('POST', url)

    xhr.onload = () => {

      if (xhr.status !== 200) {

        AlertIOS.alert('request failed')

        console.log(xhr.responseText)


        return

      }

      console.log('responseText'+xhr.responseText);

就是在 console.log(xhr.responseText)的时候输出{"error":{"message":"Invalid URL for upload"}},求解这个是什么原因啊?


写回答

1回答

Scott

2017-10-08

我目测也没看出问题,不知道是不是配置信息哪里不对,你看下我从前仓库里的老代码,看看有没有出入的地方


https://github.com/huanglong/gougou-app/blob/master/app/account/index.js#L150

0
0

贯穿全栈React Native开发App

全面掌握React Native技术,不止步前端开发,让你移动领域大放光彩

946 学习 · 385 问题

查看课程