javascript - 使用flask或javascript解压上传的文件
问题描述
所以在我的网站上,我有两个接口,第一个用于上传文件,第二个用于运行 python 脚本,该脚本查找重复文件并只保留一个,然后将它们分类到各自扩展的文件夹中。但现在我只接受 .rar 和 .zip 文件,我想在上传后和使用 python 脚本之前立即提取它们。
那么有人可以告诉我如何使用flask或js将这些文件提取到特定文件夹中。
先感谢您 。
解决方案
使用 zipfile 和 rarfile 模块
如果您没有 rarfile 模块,请安装它。
pip install rarfile
例如
from flask import request
import zipfile
import rarfile
@example.route('/upload',methods= ['POST'])
file = request.files['file']
saveFilePath = "saveFilePath"
extractpath = "extractpath"
file.save(saveFilePath)
if file.filename.rsplit('.', 1)[1].lower() == 'zip':
zip_ref = zipfile.ZipFile(saveFilePath)
zip_ref.extractall(extractpath)
zip_ref.close()
else: # rar
rar_ref = rarfile.RarFile(saveFilePath)
rar_ref.extractall(extractpath)
rar_ref.close()
# put your logic below
......
......
推荐阅读
- go - 如何修复从使用 application/x-www-form-urlencoded 内容类型的 API 的 openapi go 代码生成器获取的验证错误?
- r - 计算R中每月的记录数
- apache-spark - 在 XGBoost 4J Spark 中训练随机森林
- json - 如何以表格格式而不是 JSON 文件制作 GCP 虚拟机清单?
- c# - VS2019 Enterprise 的性能调试项目非常慢
- ssl - 具有期货的启用 TLS 的服务器?
- google-cloud-platform - 如何将 Google Cloud Scheduler 配置为每天从早上 8 点到晚上 8 点每 4 小时运行一次?
- android - android Kotlin 中的 HTTP GET
- google-cloud-firestore - 有没有办法我可以在firestore文档的特定字段而不是整个文档上设置firestore触发器
- python - Python:在 python 数据框中创建包含列表作为其值的两列的组合