javascript获取文件上传并获得进展

时间:2017-02-01 06:09:04

标签: javascript ecmascript-6 fetch

我想将视频上传到服务器。我想在ui中展示进展。上传我的服务器后发送给我的消息,我想将其显示给用户..

通过查看一些问题

,我正在做的事情
function consume(reader) {
  var total = 0
  return new Promise((resolve, reject) => {
    function pump() {
      reader.read().then(({done, value}) => {
        if (done) {     
          resolve(reader)
        }
        total += value.byteLength
        console.log("total", total)
        pump()
      }).catch(reject)
    }
    pump()
  })
}

var request = dispatch(api_put({url: 'add_video', data: data}
                    )).then(response => {
                        return consume(response.body.getReader()) // dont give server response
                        // return response.json() // gives proper server response
                    }).then(response => {
                        var message = response.message // my server message
                        // do something after upload and message

                    })

这里我得到了total uploaded byte我猜...但是我没有得到正确的服务器响应..如果我做response.json它给了我正确的服务器响应,否则它不会..

有没有更好的方法可以让我获得进步和服务器响应?

上述代码有什么问题?

0 个答案:

没有答案