JavaScript文件到Blob

2022-03-03 00:00:00 file blob javascript

我正在使用Cordova Media将音频录制到空文件中。

要上载它,我需要具有文件的内容类型。

我正在尝试将文件转换为Blob,以便可以设置内容类型,但是我很难将文件转换为Blob

state.cordova.localDirectory.getFile(filename,{create:true, exclusive:false},
    f => {
      const options = {
        SampleRate: 16000,
        NumberOfChannels: 1,
      }
      media = new window.Media(f.nativeURL,() =>
        f.file(file => {
          const blob = new Blob(file,{type: 'audio/m4u'}) <--  Trying to convert file into a blob here
          blob.lastModifiedDate = new Date()
          blob.name = filename
          console.log(blob)

          upload(blob,'audio/m4u')
            .then(data=> {console.log(data);store.dispatch(voiceAudioUploaded(sessionId,gameTaskId,data))}, err=> console.log(err))
        }
          , err => console.log('err',err) ))
      media.startRecordWithCompression(options)
    })

错误为`

无法构造"Blob":迭代器getter不可调用。

`


解决方案

尝试

const blob = new Blob([file],{type: 'audio/m4u'})

相关文章