def upload(filename): #buld post body data boundary = '--xxxxxxxxxxxxxxxx ' http_url='http://xx.xx.com/upload.php' data = [] data.append('--%s' % boundary) fp=open(filename,'rb') data.append('Content-Disposition: form-data; name="%s"; filename="%s"' % ('file',filename)) data.append('Content-Type: %s\r\n' % 'text/html') data.append(fp.read()) fp.close() data.append('--%s--\r\n' % boundary) http_body = '\r\n'.join(data) try: req = urllib2.Request(http_url, data=http_body) req.add_header('Content-Type', 'multipart/form-data; boundary=%s' % boundary) res = urllib2.urlopen(req, timeout=5) print res.read().decode('utf8') except Exception,e: print 'Error: %s' % e
再补充一下用html上传文件到服务器
<head>
<link rel="shortcut icon" href="favicon.ico">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>导入数据</title>
<script type="text/javascript">
function check(form) {
if(form.file.value==''){
alert('请选择要上传的文件!');
form.file.focus();
return false;
}
return true;
}
window.onload = function() {
document.form.reset();
}
</script>
</head>
<h1 align="center">导入数据</h1>
<fieldset>
<legend><b>请选择要上传的文件: <b></legend>
<form action="http://xx.xx.com/upload.php" method="post" name="form" enctype="multipart/form-data" οnsubmit="return check(this);" target="result">
<input type="file" name="file" size=50>
<input type="submit" name="upload" value="上传">
</form>
</fieldset>
<iframe name="result" frameborder=0 width="100%" height="100%" scrolling="no"></iframe>