python - 如何将文件作为表单字段输入而不将其定义为 Django 中的模型?
问题描述
我通过我们的供应商使用该FastAPI
框架发送的 ZIP 文件编写了一个简单的税务分析 API。(如下所示)。但是,由于某些技术原因,我不得不开始将我的 API 转移到 Django。我一直在寻找一种在 Django 中将文件作为表单数据输入的方法,但是所有这些都需要为此创建一个模型,但是,根据我的要求,我不需要将该文件永久存储在任何地方,只是暂时在内存中以供进一步分析。下面是我如何通过 FastAPI 将文件作为输入的示例。
@app.get('/xtracap_gst/files')
async def gst(file: UploadFile = File(any))
任何输入将不胜感激
编辑:
我已经设法将文件上传到我的内存中,但它返回一个 MultiValueDictionary 并且根据文档,它由 request.FILES 的 UploadedFile 类进一步处理。但是,在运行 UploadedFile.read() 时,它会说TypeError: 'property' object is not callable
. 请在下面找到我的代码:
@api_view (['GET','POST'])
def gstAnalysis(request):
if request.method == 'POST':
parser_classes = (FileUploadParser,)
file = request.FILES
file = UploadedFile.read()
print(file)
return Response({'test'})
else:
return Response({'Test'})
解决方案
我无法测试它,但...
你应该得到字典request.FILES(即使你发送一个文件),字典中的每个元素都是一个对象,UploadedFile
它来自. 并且有方法key
name
<input name=...>
UploadedFile
.read()
for name, uploaded_file in request.FILES.items():
print( name )
print( uploaded_file.read() )
推荐阅读
- python - Tensorflow 模型输入形状错误:层序贯_11 的输入 0 与层不兼容:秩未定义,但层需要定义的秩
- mongodb - Mongo 文本搜索似乎没有使用初始条件来减少要搜索的文档数量
- mysql - mqsql 日期转换
- node.js - 节点计划在特定小时范围内每分钟运行一次
- python - 我尝试运行 tsfresh 特征提取并得到与 kind_to_fc_parameters 相关的数据帧索引的新属性错误
- amazon-web-services - 删除 s3 存储桶所有者的特定权限
- reactjs - React Spring - 带有单独动画的入职滑块
- python - python-block try/except - 显示一行文本
- javascript - 用一个 JavaScript 文件操作两个 html 文件
- bi-publisher - 如何在 BI Publisher 模板中使用内部图像 url 功能