python HTTPServer返回multipart / form-data(返回多个二进制文件)

时间:2018-06-02 22:53:35

标签: python python-3.x http-headers multipart

由于我正在工作的环境,我指导我只使用标准的库。

我的目标是在单个do_GET多个二进制文件中返回。

下面是一个存根,我无法弄清楚为什么它不起作用。我确实广泛浏览了其他地方,包括RFC。

我通过curl和firefox测试这个没有用。

任何提示都表示赞赏。

def do_GET(self):



        parsed_path = parse.urlparse(self.path)

        #ret="mensaje de vuelta"
        #print("*** {} ***".format(ret))
        #message = ret+'\r\n'

        self.send_response(200)  

        self.send_header('Content-Type', 'multipart/form-data; boundary=qazwsxedcrfv')

        #
        #                 
        self.end_headers()
        #
        #
        self.wfile.write(b"\r\n--qazwsxedcrfv\r\n")

        self.wfile.write(b'Content-Disposition: form-data; name="datafile1"; filename="'+
                         bytes(os.path.basename(files[0]).encode("utf8"))+b'"\r\n')
        self.wfile.write(b'Content-Type: image/jpg\r\n')
        self.wfile.write(b"\r\n")

        pic=open(files[0],"rb").read()   
        self.wfile.write(pic)

        self.wfile.write(b"\r\n--qazwsxedcrfv\r\n")
        self.wfile.write(b'Content-Disposition: form-data; name="datafile1"; filename="'+
                         bytes(os.path.basename(files[1]).encode("utf8"))+b'"\r\n')
        self.wfile.write(b'Content-Type: image/jpg\r\n')
        self.wfile.write(b"\r\n")

        pic=open(files[1],"rb").read()   
        self.wfile.write(pic)

        self.wfile.write(b"\r\n--qazwsxedcrfv--\r\n")
        #

0 个答案:

没有答案