大家好,大家好,我需要得到一个文件扩展名形式的二进制文件,这是没有名称和扩展名,但可以是一个(“字”,"pdf","xls"),因为api graphql可以接收一个文件的列表,但api的上传者不传递的文件名作为二进制文件和一个需要标识的文件和顺序保存在不同的服务器上的文件类别。
我使用
from graphene_file_upload.scalars import
在api中上传文件
并使用下面的代码获取文件的扩展名
def get_file_extension(self, file):
extension = file[0:3].hex()
extencions = {'255044':".pdf", '504b03':".docx", 'd0cf11':".xlsx"}
result = extencions.get(extension, None)
if result:
return result
但我有一个问题,因为当传递一个文件xlsx返回docx时,只有Microsoft扩展才有问题,有些人知道会发生什么?
发布于 2021-03-20 00:56:59
那么,如果我理解正确的话,您需要根据文件格式对文件进行分段,然后分别加载/保存它们?
如果你使用的文件格式是.pdf,.docx,.xlsx,我可能会这样做:
import pathlib
file_path = '../some_folder' # some_folder consisting all your files
files = []
with pathlib.Path(file_path) as path:
pdf_files = sorted(path.glob('*.pdf'))
docx_files = sorted(path.glob('*.docx'))
xlsx_files = sorted(path.glob('*.xlsx'))
您可以使用这些结果pdf_files
、docx_files
和xlsx_files
,并使用numpy.load()
或numpy.save()
或其他一些操作,将这些结果保存为您想要的格式。我希望这就是你要找的。
https://stackoverflow.com/questions/66711677
复制相似问题