python - 如何检查 python InMemoryUploadedFile 文件的文件类型?
问题描述
我正在使用 python Django 创建一个应用程序来合并文档,我想检查上传文件的文件类型,因为代码只能合并 pdf 文件。我曾尝试使用 endwith 和 split 函数来检查文件类型,但出现错误说 InMemoryUploadedFile 没有这样的属性。因此,是否有任何其他方法来检查 InMemoryUploadedFile 文件的文件类型?我的代码如下所示:我想确保检查上传的文件是否不是 pdf 文件,代码将忽略它(添加 if 语句并继续)
def mergedocument(request):
doc = request.FILES.getlist("file[]")
mergedoc =[]
for docu in doc:
fs = FileSystemStorage()
file_path = fs.save(docu.name, docu)
pdoc = documentsfile(docs=file_path)
pdoc.save()
mergedoc.append(docu)
merger = PdfFileMerger()
for pdf in mergedoc:
merger.append(pdf)
merger.write("C:\\Users\\Downloads\\Merged.pdf")
merger.close()
messages.info(request,a)
messages.info(request,'Files merged and stored in your Downloads folder')
return redirect('home')
解决方案
尽管这个问题可以追溯到很久以前,但您可以在这篇文章中利用 Pithikos 解决方案:Django - 获取上传的文件类型/mimetype,并检查 if 语句中返回的文本中是否有“pdf”。
推荐阅读
- azure-devops - 在 Azure DevOps 的构建中找不到“SqlConnection”
- parse-platform - 从 AT 命令发送 HTTP Post 到 Parse 平台
- react-native - 渲染方法中的console.log显示state = true,但jsx显示false
- python-3.x - 如何在熊猫的新列中添加列表?
- python - 将正则表达式与 html 标签相结合
- haskell - 如何使用 Haskell 超时函数(在 System.Timeout 中)来停止失控计算?
- .net - LINQ - 分组依据和总和
- jpa - 如何从子查询中获取结果作为查询中的参数
- r - 如何在数据框的每一列中删除异常值(距离平均值 3 个标准差)
- c# - 继承接口相关无法转换