python文件保存服务器,简单的Python网络服务器来保存文件

重要的事情是,你必须建立正确cgi.FieldStorage从原始发布的数据如

form = cgi.FieldStorage(

fp=self.rfile,

headers=self.headers,

environ={'REQUEST_METHOD':'POST',

'CONTENT_TYPE':self.headers['Content-Type'],

})

后,很容易倾倒的文件,这里是一个简单的处理器,其显示了do_GET形式上传任何文件中的用户选择,当表单被提交保存该文件到/ tmp中do_POST

from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler

import cgi

class StoreHandler(BaseHTTPRequestHandler):

def do_POST(self):

form = cgi.FieldStorage(

fp=self.rfile,

headers=self.headers,

environ={'REQUEST_METHOD':'POST',

'CONTENT_TYPE':self.headers['Content-Type'],

})

filename = form['file'].filename

data = form['file'].file.read()

open("/tmp/%s"%filename, "wb").write(data)

self.respond("uploaded %s, thanks"%filename)

def do_GET(self):

response = """

File:

"""

self.respond(response)

def respond(self, response, status=200):

self.send_response(status)

self.send_header("Content-type", "text/html")

self.send_header("Content-length", len(response))

self.end_headers()

self.wfile.write(response)

另外请注意self.respond不是我刚添加的标准方法,用于快速返回一些响应。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值