python + js 文件上传
时间: 2023-09-28 11:09:54 浏览: 38
实现 Python + JS 文件上传的方式有很多,以下是一种常见的实现方式:
1. 编写 HTML 表单
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>文件上传示例</title>
</head>
<body>
<form enctype="multipart/form-data">
<input type="file" name="file">
<input type="button" value="上传" onclick="uploadFile()">
</form>
<script>
function uploadFile() {
var formData = new FormData();
var file = document.querySelector('input[type="file"]').files[0];
formData.append('file', file);
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload');
xhr.onload = function() {
if (xhr.status === 200) {
alert('上传成功!');
} else {
alert('上传失败!');
}
};
xhr.send(formData);
}
</script>
</body>
</html>
```
2. 编写 Flask 路由
```python
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
return app.send_static_file('index.html')
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
if file:
file.save(file.filename)
return '上传成功!'
else:
return '上传失败!'
```
以上代码中,`/` 路由返回的是 HTML 表单页面;`/upload` 路由用于接收文件上传请求,保存上传的文件并返回上传结果。
需要注意的是,由于表单中的 `enctype` 属性为 `multipart/form-data`,所以在 Flask 中接收文件时需要使用 `request.files` 对象。
通过以上方式,即可实现 Python + JS 文件上传。