【问题标题】:Is it able to read javascript file object in phython?是否能够在 python 中读取 javascript 文件对象?
【发布时间】:2021-01-01 13:24:40
【问题描述】:

有一个客户端在 JavaScript 中发送一个文件对象。 有一个用 Python 编写的服务器。 请查看以下客户端和服务器的代码。

客户端(JavaScript):

function sendFile(file) {
  fetch('http://localhost:8088', {
     method: 'POST',
     body: JSON.stringify({
       name: "file",
       code: file
     })
   })
   .then(res => {
     // handle response
     var reader = res.body.getReader();
     reader.read()
     .then(({done, value}) => {
       // need to check done
       let chunks = new Uint8Array(value.length);
       chunks.set(value, 0);
       let result = new TextDecoder("utf-8").decode(chunks);
       console.log(result);
    });
  })
  .catch(err => {
    // handle error
    console.log('fetch error:', err);
  });
}

document.getElementById('sendBtn').addEventListener('change',
 ()=>{this.sendFile(document.getElementById('fileInput').files[0]);});

服务器(Python):

#!/usr/bin/python
import BaseHTTPServer
import json

class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler):
       def do_POST(self):
          length = int(self.headers.getheader('content-length'))
          body = self.rfile.read(length)
          self.send_response(200)
          self.send_header('Access-Control-Allow-Origin', '*')
          self.end_headers()
          self.wfile.write("post response")
          data = json.loads(body)

          # print data['file'] just returns '{ }'
          # I would like to save this file on sever side.
          # Is it possible??

server = BaseHTTPServer.HTTPServer(("localhost", 8088), MyHandler)
server.serve_forever()
  

我想知道是否有办法在python世界上读取用javascript编写的文件对象。

【问题讨论】:

标签: javascript python


【解决方案1】:

我必须发送文件内容How can I serialize an input File object to JSON?

它可以使用 dcodestring 读取和保存它 How to parse data-uri in python?

谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多