用python写一个服务并注释,开放接口并注明接口地址,启动后前端访问接口后会输入堆场号,并赋值给dch,后端接收参数,并在当前目录下创建文件夹,名为"‘dch'+堆场",成功后,提示文件创建成功,前端向该文件夹中一次传任意多张照片,后端接收照片并存储在该文件夹下
时间: 2024-06-09 14:07:18 浏览: 13
以下是Python代码实现:
```python
from flask import Flask, request, jsonify
import os
app = Flask(__name__)
@app.route('/create_folder', methods=['GET'])
def create_folder():
dch = request.args.get('dch')
folder_name = "{} 堆场".format(dch)
# 创建文件夹
try:
os.mkdir(folder_name)
return jsonify({"message": "文件夹创建成功"})
except:
return jsonify({"message": "文件夹创建失败"})
@app.route('/upload_photos', methods=['POST'])
def upload_photos():
dch = request.args.get('dch')
folder_name = "{} 堆场".format(dch)
# 保存照片
try:
for file in request.files.getlist('photos'):
file.save(os.path.join(folder_name, file.filename))
return jsonify({"message": "照片上传成功"})
except:
return jsonify({"message": "照片上传失败"})
if __name__ == '__main__':
app.run(debug=True)
```
注释说明:
- 第1行导入Flask框架
- 第3-4行创建Flask应用实例
- 第6-12行定义路由`/create_folder`,使用GET方法获取堆场号参数,并根据堆场号创建文件夹
- 第14-20行定义路由`/upload_photos`,使用POST方法上传照片,并将照片保存在对应的堆场文件夹中
- 第22-27行判断当前文件是否为主文件,如果是则启动Flask应用
接口地址:
- 创建文件夹接口:`http://localhost:5000/create_folder?dch=堆场号`
- 上传照片接口:`http://localhost:5000/upload_photos?dch=堆场号`
其中,`堆场号`为前端输入的参数值。
启动后,前端可以通过Ajax请求访问接口,例如:
```javascript
// 创建文件夹接口
$.ajax({
url: "http://localhost:5000/create_folder?dch=001",
type: "GET",
success: function(data) {
console.log(data.message);
},
error: function() {
console.log("请求失败");
}
});
// 上传照片接口
var formData = new FormData();
formData.append("photos", file1);
formData.append("photos", file2);
$.ajax({
url: "http://localhost:5000/upload_photos?dch=001",
type: "POST",
data: formData,
contentType: false,
processData: false,
success: function(data) {
console.log(data.message);
},
error: function() {
console.log("请求失败");
}
});
```
其中,`file1`和`file2`为前端上传的照片文件。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)