首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从客户端发送文件后,文件是否被正确读取?

从客户端发送文件后,文件是否被正确读取?
EN

Stack Overflow用户
提问于 2022-10-02 17:03:28
回答 2查看 87关注 0票数 -1

我正试图从用户的麦克风中获取一个音频文件,当我试图将它发送到服务器下载时,它会不断出错。

这是我的js代码来获取音频

代码语言:javascript
复制
navigator.mediaDevices.getUserMedia({audio:true})
      .then(stream => {handlerFunction(stream)})


            function handlerFunction(stream) {
            rec = new MediaRecorder(stream);
            rec.ondataavailable = e => {
              audioChunks.push(e.data);
              if (rec.state == "inactive"){
                let blob = new Blob(audioChunks,{type:'audio/mpeg-3'});
                recordedAudio.src = URL.createObjectURL(blob);
                recordedAudio.controls=true;
                recordedAudio.autoplay=true;
                var data = new FormData()
                data.append('file', blob, 'file')
                sendData(data)
              }
            }
          }
        function sendData(data) {
            fetch('http://127.0.0.1:5000/test',{
                method: 'POST',
                body: data
            })
        }

还有我的python代码:

代码语言:javascript
复制
 if request.method == "POST":
        files = request.files
        file = files.get('file')
        print(file.content)
    return render_template('test.html')

这是痕迹:

代码语言:javascript
复制
  File "C:\Users\Rohan\anaconda3\lib\site-packages\flask\app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Users\Rohan\anaconda3\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Users\Rohan\anaconda3\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
0, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Users\Rohan\anaconda3\lib\site-packages\flask\app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "main.py", line 24, in test2
    print(file.content)
  File "C:\Users\Rohan\anaconda3\lib\site-packages\werkzeug\datastructures.py", line 3095, in __getattr__
    return getattr(self.stream._file, name)
AttributeError: '_io.BytesIO' object has no attribute 'content'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-02 18:53:01

我解决了我的问题,我所需要做的就是做file.read而不是file.content

票数 0
EN

Stack Overflow用户

发布于 2022-10-02 17:43:35

您似乎试图将文件流发送回客户端,但我不认为它是由烧瓶支持的。使用这些文档作为将来的参考。

https://flask.palletsprojects.com/en/2.2.x/

还有。为什么不是一个问题。尝试:文件被发送后不被读取。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73927739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档