您的位置:首页 > 编程语言 > Python开发

python写个简单的文件上传是有多难,要么那么复杂,要么各种,,,老子来写个简单的

2017-05-29 15:07 302 查看
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\r\nContent-Disposition: form-data;" \
" name=\"%s\";filename=\"%s\"\r\nContent-Type: application/octet-stream\r\n\r\n"\
%(BOUNDARY,key.replace("@",""),os.path.basename(value))
fp = open(value,"rb")
data += fp.read()
fp.close()
data +="\r\n"
else:
data += "--%s\r\nContent-Disposition: form-data; name=\"%s\"\r\n\r\n%s\r\n"\
%(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"})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: