首先在阅读了flask框架有关资料之后,我打算写一个可以上传文件的后端代码,搭配html网站进行前端设计。
后端的python代码用template模板上传文件,并把它存到主机中某个文件夹中。这样可以方便接下来对文件夹里的文件进行操作,如核查上传的文件的md5\sha256值等,这样可以有效与目前现有的特征值进行匹配,从而实现精准把文件分类、排除恶意软件等功能。
#test.py,用于上传的后端flask代码
from flask import Flask,render_template,request,redirect,url_for
from werkzeug.utils import secure_filename
import os
app = Flask(__name__)
@app.route('/upload', methods=['POST', 'GET'])
def upload():
if request.method == 'POST':
f = request.files['file']
basepath = os.path.dirname(__file__)
upload_path = os.path.join(basepath, 'uploads',secure_filename(f.filename))
f.save(upload_path)
return redirect(url_for('upload'))
return render_template('upload.html')
if __name__ == '__main__':
app.run(debug=True)
#upload.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>前端</title>
</head>
<body>
<body background="beloved.jpeg" style=" background-repeat:no-repeat ;background-size:100% 100%;
background-attachment: fixed;">
<p><center><font color="#98FB98"><font size="4"><h1>请在这里上传你想要检测的文件</h1></font></font></center></p>
<form action="" enctype='multipart/form-data' method='POST'>
<p><center><input type="file" name="file"></center></p>
<p><center><input type="submit" value="上传"></center></p>
</form>
</body>
</html>
<form>标签里的enctype属性一定要填写'multipart/form-data'
经过测试,可以运行基本的上传文件功能。
接下来只需要把上传的文件扫描,然后返回值即可。