IIS部署flask之实现文件上传功能
admin
2023-03-16 21:01:16
0

1、环境

windows 7 x64

IIS 6

python 2.7.9

wfastcgi-3.0.0

flask-0.12.2

2、安装wfastcgi,并启动wfastcgi

pip install wfastcgi

C:\Users\wangpan>D:\software\Python27\Scripts\wfastcgi-enable.exe
已经在配置提交路径“MACHINE/WEBROOT/APPHOST”向“MACHINE/WEBROOT/APPHOST”的“system.webServer/fastCgi”节应用了配置更改
“d:\software\python27\python.exe|d:\software\python27\lib\site-packages\wfastcgi.pyc” can now be used as a FastCGI script processor

3、安装flask

pip install flask

4、打开windows功能,安装IIS,启用CGI

IIS部署flask之实现文件上传功能

5、安装URL重写

IIS 需要安装 URL 重写组件,这个可以通过Microsoft Web Platform Installer来安装。下载Microsoft Web Platform Installer后运行,搜索URL,安装URL重写工具。

IIS部署flask之实现文件上传功能

6、配置IIS

6.1 添加网站,根目录是d:\data\mysite\upload

IIS部署flask之实现文件上传功能

6.2 d:\data\mysite\upload目录结构

upload

–static上传目录的静态文件目录

–upload.py上传文件程序

–web.config配置文件

6.3 upload目录下web.config内容


 
 
 
 
 
 
 
 
 
 


 
 
 


 
 
 
 

注意:

  • scriptProcessor的内容是执行wfastcgi-enable的输出

  • WSGI_HANDLER的value

  • PYTHONPATH的value

  • WSGI_LOG的目录一定要存在

6.4 upload.py上传文件的代码

#_*_coding:utf-8_*_
import os
from flask import Flask, request, redirect, url_for,render_template
from werkzeug import secure_filename
from flask import send_from_directory


UPLOAD_FOLDER = 'd:\data\mysite\upload\static'
ALLOWED_EXTENSIONS = set(['txt', 'docx', 'doc', 'xlsx' , 'xls','ppt' , 'pdf', 'png', 'jpg', 'jpeg', 'gif'])

app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

def allowed_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        file = request.files['file']
        filename = file.filename
        if file and allowed_file(filename):
            #filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            return redirect(url_for('uploaded_file',filename=filename))
            #return redirect('success.html')
    return '''
    
    Upload new File
    

Upload new File

           

                   ''' @app.route('/upload/') def uploaded_file(filename):     return u'文件上传成功' if __name__ == '__main__':     app.run()

7、flask学习网站

http://docs.jinkan.org/docs/flask/


相关内容

热门资讯

ICC逮捕令致内塔尼亚胡出行受... 【环球网报道】据以色列《新消息报》网站26日报道,由于国际刑事法院(ICC)2024年就以色列在巴勒...
“罗永浩怒斥电视机厂商”戳中了... 7月25日晚,罗永浩发文怒斥当下电视机的产品设计。据都市快报报道,罗永浩表示,他为家中老人换了两次电...
各地各部门坚持人民至上筑牢防汛... 新华社北京7月25日电 题:风雨同舟映初心——各地各部门坚持人民至上筑牢防汛抗洪坚实堤坝新华社记者当...
法院回应LV起诉地产开发商 7月26日,厦门市湖里区人民法院发布情况通报,网传案情“路易威登公司起诉地产开发商,因楼盘外立面四叶...
携程的问题不仅在于垄断,更在于... 国内平台科技企业一般都是通过向B端收费、抽佣获利,尽量给消费者创造一个比较清爽的使用环境。携程算是最...
海信电视用遥控器关闭后打不开 原因可能是遥控器的电池没有装好或者是没电了,需要重新安装一下电池或者更换新的电池试一试;原因可能是电...
电视机突然没电源打不开了 有可能是电视开关的电源线断了;可能是电视在使用时短路;可能是电源插头插座松动;可能是电视内部零件接触...
电热水器下面那个小龙头漏水是怎... 电热水器下面那个小龙头漏水是怎么回事?1、因为安全阀发生了故障或者是已经被损坏了,就会有漏水的现象;...
回答下电脑桌面一片空白怎么恢复 电脑桌面上如果是一片空白,那说明您的电脑图标被隐藏了,想要恢复就要按照如下的三个步骤去操作才行。 第...
澳总理要找特朗普“理论”关税:... 当地时间7月26日,澳大利亚总理阿尔巴尼斯表示,他将直接向美国总统特朗普提出抗议,反对美国新近宣布的...