zoukankan      html  css  js  c++  java
  • python写个简单的文件上传是有多难,要么那么复杂,要么各种,,,老子来写个简单的

    def upload(url,params):
        '''
        上传文件到server,不适合大文件
        @params url 你懂的
        @params {"action":"xxx","@file","file_path"}  普通參数 key:value  文件key头部加@
        '''
        import os
        import urllib2
        BOUNDARY = "0450de9528f040078csuxianbaozic06"
        data = ""
        for key,value in params.items():
            if "@" in key:
                data += "--%s
    Content-Disposition: form-data;" 
                       " name="%s";filename="%s"
    Content-Type: application/octet-stream
    
    "
                       %(BOUNDARY,key.replace("@",""),os.path.basename(value))
                fp = open(value,"rb")
                data += fp.read()
                fp.close()
                data +="
    "
            else:
                data += "--%s
    Content-Disposition: form-data; name="%s"
    
    %s
    "
                        %(BOUNDARY,key,value)
    
        data += "--%s--"%(BOUNDARY,)
    
        request = urllib2.Request(url)
        request.add_header("Content-Type","multipart/form-data; boundary="+BOUNDARY)
        return urllib2.urlopen(request,data).read()
    upload("http://www.baidu.com",{"@file":"/xxx/xxx.jpg"})
  • 相关阅读:
    React之JSX语法
    Visual Studio Code 使用 Typings 实现智能提示功能
    React.js 之hello word
    Linux命令详解-cd
    Linux命令详解-ls
    linux常用命令
    LINUX系统配置相关
    netsh
    Visual Studio
    乘法算术表
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6918081.html
Copyright © 2011-2022 走看看