· 5 years ago · Jun 30, 2020, 11:58 AM
1
2import os
3from flask import Flask, flash, request, redirect, url_for
4from werkzeug.utils import secure_filename
5
6UPLOAD_FOLDER = 'uploads'
7ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}
8
9#app = Flask(__name__)
10
11
12
13
14
15def allowed_file(filename):
16 return '.' in filename and \
17 filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
18
19
20
21from app import app
22app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
23app.config['JWT_SECRET_KEY'] = 'ziobrokurwaprzestanprzesladowac'
24
25
26@app.route('/')
27@app.route('/index')
28def index():
29 return "jebac pis"
30
31
32@app.route('/robocze')
33def robocze() :
34 sciezka = os.path.join(app.config['UPLOAD_FOLDER'],'nazwapliku.txt')
35 return sciezka
36
37
38@app.route('/uploadfile',methods=['GET', 'POST'])
39def upload_file():
40 if request.method == 'POST':
41 # check if the post request has the file part
42 if 'file' not in request.files:
43 flash('No file part')
44 return redirect(request.url)
45 file = request.files['file']
46 # if user does not select file, browser also
47 # submit an empty part without filename
48 if file.filename == '':
49 flash('No selected file')
50 return redirect(request.url)
51 if file and allowed_file(file.filename):
52 filename = secure_filename(file.filename)
53 file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
54 return redirect(url_for('upload_file',
55 filename=filename))
56 return '''
57 <!doctype html>
58 <title>Upload new File</title>
59 <h1>Upload new File</h1>
60 <form method=post enctype=multipart/form-data>
61 <input type=file name=file>
62 <input type=submit value=Upload>
63 </form>
64 '''
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81---------------> ESP32-cam
82
83
84
85import urequests as requests
86res = requests.get(url = 'http://77.55.232.249:2137/').text
87
88
89focia = open('sd/20200630113154.jpg')
90post_data = focia.read()
91focia.close()
92adres_wysylki = "http://77.55.232.249:2137/uploadfile"
93res = requests.post(adres_wysylki, data = post_data)
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116---- error flask
117
118
11977.252.62.20 - - [30/Jun/2020 13:52:58] "POST /uploadfile HTTP/1.0" 500 -
12077.252.62.20 - - [30/Jun/2020 13:54:00] "GET / HTTP/1.0" 200 -
121[2020-06-30 13:54:02,001] ERROR in app: Exception on /uploadfile [POST]
122Traceback (most recent call last):
123 File "/root/borsuk/venv/local/lib/python2.7/site-packages/flask/app.py", line 2447, in wsgi_app
124 response = self.full_dispatch_request()
125 File "/root/borsuk/venv/local/lib/python2.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
126 rv = self.handle_user_exception(e)
127 File "/root/borsuk/venv/local/lib/python2.7/site-packages/flask/app.py", line 1821, in handle_user_exception
128 reraise(exc_type, exc_value, tb)
129 File "/root/borsuk/venv/local/lib/python2.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
130 rv = self.dispatch_request()
131 File "/root/borsuk/venv/local/lib/python2.7/site-packages/flask/app.py", line 1936, in dispatch_request
132 return self.view_functions[rule.endpoint](**req.view_args)
133 File "/root/borsuk/app/routes.py", line 43, in upload_file
134 flash('No file part')
135 File "/root/borsuk/venv/local/lib/python2.7/site-packages/flask/helpers.py", line 423, in flash
136 session["_flashes"] = flashes
137 File "/root/borsuk/venv/local/lib/python2.7/site-packages/werkzeug/local.py", line 350, in __setitem__
138 self._get_current_object()[key] = value
139 File "/root/borsuk/venv/local/lib/python2.7/site-packages/flask/sessions.py", line 103, in _fail
140 "The session is unavailable because no secret "
141RuntimeError: The session is unavailable because no secret key was set. Set the secret_key on the application to something unique and secret.
14277.252.62.20 - - [30/Jun/2020 13:54:02] "POST /uploadfile HTTP/1.0" 500 -