下面是关于“Python flask使用ajax上传文件的示例代码”的完整攻略,本攻略包含两条示例说明。
示例1:基于form表单上传文件的示例
步骤1:创建一个基于flask的web应用程序
使用Flask框架创建一个简单的web应用程序,示例代码如下:
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
file = request.files['file']
filename = file.filename
file.save(filename)
return '文件保存成功!'
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
步骤2:创建一个用于上传文件的form表单
在index.html模板中添加form表单,使用户可以选择要上传的文件,示例代码如下:
<!DOCTYPE html>
<html>
<head>
<title>文件上传示例</title>
</head>
<body>
<h1>文件上传示例</h1>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
</body>
</html>
示例2:使用ajax上传文件的示例
步骤1:创建一个基于flask的web应用程序
使用Flask框架创建一个简单的web应用程序,示例代码如下:
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
if file:
filename = file.filename
file.save(filename)
return '文件上传成功!'
return '文件上传失败!'
if __name__ == '__main__':
app.run(debug=True)
步骤2:创建一个用于ajax上传文件的form表单
使用ajax方式上传文件需要在前端使用formdata对象进行数据的封装提交,示例代码如下:
<!DOCTYPE html>
<html>
<head>
<title>ajax文件上传示例</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<h1>ajax文件上传示例</h1>
<form id="uploadForm" enctype="multipart/form-data">
<input type="file" id="file" name="file">
<input type="button" value="上传" onclick="upload()">
</form>
<div id="result"></div>
<script>
function upload() {
var formData = new FormData();
formData.append('file', $('#file')[0].files[0]);
$.ajax({
url: '/upload',
type: 'POST',
data: formData,
contentType: false,
processData: false,
success: function (data) {
$('#result').html(data);
},
error: function () {
$('#result').html('文件上传失败!');
}
});
}
</script>
</body>
</html>
以上就是“Python flask使用ajax上传文件的示例代码”的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python flask使用ajax上传文件的示例代码 - Python技术站