首页 > 解决方案 > 使用flask或javascript解压上传的文件

问题描述

所以在我的网站上,我有两个接口,第一个用于上传文件,第二个用于运行 python 脚本,该脚本查找重复文件并只保留一个,然后将它们分类到各自扩展的文件夹中。但现在我只接受 .rar 和 .zip 文件,我想在上传后和使用 python 脚本之前立即提取它们。

那么有人可以告诉我如何使用flask或js将这些文件提取到特定文件夹中。

先感谢您 。

标签: javascriptflask

解决方案


使用 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
     ......
     ......


推荐阅读