python2.7入门---CGI编程&文件上传&…
2018-06-18 02:38:06来源:未知 阅读 ()
这次我们来看下文件下载和上传的操作。首先是上传,HTML设置上传文件的表单需要设置 enctype 属性为 multipart/form-data,代码如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>luyaran(luyaran.com)</title>
</head>
<body>
<form enctype="multipart/form-data"
action="/cgi-bin/save_file.py" method="post">
<p>选中文件: <input type="file" name="filename" /></p>
<p><input type="submit" value="上传" /></p>
</form>
</body>
</html>
save_file.py脚本文件代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import cgi, os
import cgitb; cgitb.enable()
form = cgi.FieldStorage()
# 获取文件名
fileitem = form['filename']
# 检测文件是否上传
if fileitem.filename:
# 设置文件路径
fn = os.path.basename(fileitem.filename)
open('/tmp/' + fn, 'wb').write(fileitem.file.read())
message = '文件 "' + fn + '" 上传成功'
else:
message = '文件没有上传'
print """\
Content-Type: text/html\n
<html>
<head>
<meta charset="utf-8">
<title>luyaran(luyaran.com)</title>
</head>
<body>
<p>%s</p>
</body>
</html>
""" % (message,)
将以上代码保存到 save_file.py,并修改 save_file.py 权限,之后运行就可以看到效果了,咱们这里就不赘述了。如果你使用的系统是Unix/Linux,你必须替换文件分隔符,在window下只需要使用open()语句即可。
fn = os.path.basename(fileitem.filename.replace("\\", "/" ))
接下来就来看下载。我们先在当前目录下创建 foo.txt 文件,用于程序的下载。文件下载通过设置HTTP头信息来实现,功能代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# HTTP 头部
print "Content-Disposition: attachment; filename=\"foo.txt\"";
print
# 打开文件
fo = open("foo.txt", "rb")
str = fo.read();
print str
# 关闭文件
fo.close()
好啦,这次分享比较少,大家将就这看看哈。。。
如果感觉不错的话,请多多点赞支持哦。。。
原文链接:https://blog.csdn.net/luyaran/article/details/79993874
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 小白如何入门 Python 爬虫? 2019-08-13
- 编程小白的第一本python入门书(高清版)PDF下载 2019-07-24
- 初始Python 2019-07-24
- Python入门学习——PyQt5程序基本结构 2019-07-24
- 经验分享:零基础如何快速入门Python?(菜鸟必看篇) 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash