python 上傳文件到服務器


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" onsubmit="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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM