You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.6 KiB
63 lines
1.6 KiB
6 years ago
|
# -*- coding: utf-8 -*-
|
||
|
import os
|
||
|
from flask import Flask, request, url_for, send_from_directory
|
||
|
from werkzeug import secure_filename
|
||
|
|
||
|
ALLOWED_EXTENSIONS = set(['png', 'jpg', 'jpeg', 'gif', 'rar', 'apk'])
|
||
|
|
||
|
app = Flask(__name__)
|
||
|
app.config['UPLOAD_FOLDER'] = 'd:/db/'
|
||
|
app.config['MAX_CONTENT_LENGTH'] = 1600 * 1024 * 1024
|
||
|
|
||
|
"""
|
||
|
可以选择这个扩展
|
||
|
Flask-Uploads
|
||
|
"""
|
||
|
|
||
|
html = '''
|
||
|
<!DOCTYPE html>
|
||
|
<title>Upload File</title>
|
||
|
<h1>图片上传</h1>
|
||
|
<form method=post enctype=multipart/form-data>
|
||
|
<input type=file name=file>
|
||
|
<input type=submit value=上传>
|
||
|
</form>
|
||
|
'''
|
||
|
|
||
|
|
||
|
def allowed_file(filename):
|
||
|
return '.' in filename and \
|
||
|
filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS
|
||
|
|
||
|
|
||
|
@app.route('/uploads/<filename>')
|
||
|
def uploaded_file(filename):
|
||
|
return send_from_directory(app.config['UPLOAD_FOLDER'],
|
||
|
filename)
|
||
|
|
||
|
|
||
|
@app.route('/', methods=['GET', 'POST'])
|
||
|
def test():
|
||
|
return'test'
|
||
|
|
||
|
|
||
|
@app.route('/upload/', methods=['GET', 'POST'])
|
||
|
def upload_file():
|
||
|
print 'upload'
|
||
|
if request.method == 'POST':
|
||
|
print 'post'
|
||
|
file = request.files['file']
|
||
|
print file
|
||
|
if file and allowed_file(file.filename):
|
||
|
print 'start save'
|
||
|
filename = secure_filename(file.filename)
|
||
|
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
|
||
|
# file_url = url_for('uploaded_file', filename=filename)
|
||
|
# return html + '<br><img src=' + file_url + '>'
|
||
|
return '200'
|
||
|
return '405'
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
app.run(host='0.0.0.0', port=5000)
|