1,环境windows 7 x64
IIS 6 python 2.7.9
wfastcgi-3.0.0 flask-0.12.2
2,安装wfastcgi,并启动wfastcgi
pip安装wfastcgi
C: \ \用户wangpan> D: \ software \ \ wfastcgi-enable Python27 \脚本。exe
已经在配置提交路径“机/WEBROOT/APPHOST”向“机/WEBROOT/APPHOST”的”系统。网络服务器/fastCgi”节应用了配置更改
" d: \软件\ python27 \ python.exe | d: \ software \ python27 \ lib \网站\ wfastcgi。佩克”现在可以用作FastCGI脚本处理器
3,安装瓶
pip安装瓶
4,打开窗户功能,安装IIS,启用CGI
5,安装URL重写
IIS需要安装URL重写组件,这个可以通过微软Web平台安装程序来安装。下载微软Web平台安装程序后运行,搜索URL,安装URL重写工具。
6,配置IIS 6.1
添加网站,根目录是d: \ mysite \ \数据上传
6.2, d: \ mysite \ \数据上传目录结构
上传静态上传目录的静态文件目录
上传。py上传文件程序
网。配置配置文件
6.3上传目录下网络。配置内容
& lt; ? xml version=" 1.0 ",编码=" utf - 8 " ?比; ,& lt; configuration> ,& lt; system.webServer> ,& lt; handlers> ,& lt; add name=" FlaskFastCGI ",路径=?”,动词=?”,模块=癋astCgiModule”, scriptProcessor=" d: \软件\ python27 \ python.exe | d: \ software \ python27 \ lib \网站\ wfastcgi.pyc”, resourceType=安幻鳌?requireAccess=敖疟尽?/比; ,& lt;/handlers> ,& lt; security> ,& lt; requestFiltering  allowDoubleEscaping=" true "祝辞& lt;/requestFiltering> ,& lt;/security> 启用,& lt; directoryBrowse =" true ",/比; ,& lt;/system.webServer> & lt; appSettings> ,& lt; !——, Required settings ——比; ,& lt; add 关键=" WSGI_HANDLER”, value=" https://www.yisu.com/zixun/upload.app ",/比; ,& lt; add 关键=" PYTHONPATH环境”,value=" https://www.yisu.com/zixun/眫/,/比; & lt; !——, Optional settings ——比; ,& lt; add 关键=" WSGI_LOG”, value=" d: \ data \ mysite \ logs \ oboeqa_web.log“,/比; ,& lt; add 关键=" WSGI_RESTART_FILE_REGEX”, value=",/比; ,& lt;/appSettings> ,& lt;/configuration>
注意:
- <李>
scriptProcessor的内容是执行wfastcgi-enable的输出
李> <李>WSGI_HANDLER的价值
李> <李>PYTHONPATH环境的价值
李> <李>WSGI_LOG的目录一定要存在
李>6.4上传。py上传文件的代码
# _ * _coding: utf-8_ * _ import 操作系统 得到flask import 瓶,,请求,,重定向,url_for, render_template 得到werkzeug import  secure_filename 得到flask import  send_from_directory UPLOAD_FOLDER =, ' d: \ \ mysite \上传\静态数据的 ALLOWED_EXTENSIONS =,集((“三种”,“多克斯”,“医生”,“xlsx”,,,“xls”、“ppt”,,,“pdf”, png,, jpg,, jpeg,, ' gif ']) app =,瓶(__name__) app.config [' UPLOAD_FOLDER '],=UPLOAD_FOLDER def allowed_file(文件名): ,,,return “。”,拷贝filename 以及\ ,,,,,,,,,,filename.rsplit (' . ', 1) [1], ALLOWED_EXTENSIONS拷贝 @app.route('/',方法=[‘得到’,,'文章']) def upload_file (): ,,,if request.method ==,“POST”: ,,,,,,,file =, request.files(“文件”) ,,,,,,,filename =file.filename ,,,,,,,if file 以及allowed_file(文件名): ,,,,,,,,,,,# filename =, secure_filename (file.filename) ,,,,,,,,,,,file.save (os.path.join (app.config (“UPLOAD_FOLDER”),文件名)) ,,,,,,,,,,,return 重定向(url_for (uploaded_file,文件名=文件名)) ,,,,,,,,,,,# return 重定向(“success.html”) ,,,return “ ,,,& lt; ! doctype html> ,,,& lt; title> Upload new File ,,,& lt; h2> Upload new File ,,,& lt; form action=" ",方法=post enctype=多部分/form-data> ,,,,,& lt; p> & lt; input 类型=file name=file> ,,,,,,,,& lt; input 类型=submit 值=https://www.yisu.com/zixun/Upload>IIS部署瓶之实现文件上传功能