python-3.x - django rest框架文件上传使用json数据
问题描述
我已经定义了我的模型序列化程序和文件视图来使用 api 上传文件。当我通过使用 Postman 上传文件来测试我的 API 时,它运行良好,并且文件存储在媒体文件夹中。但在我的 API 中,我以 JSON(字典格式)传递了详细信息。现在我的代码没有选择文件
{
file:"C:\users\admin\Desktop\abc.txt",
uploader :"akash"
}
当我使用 Postman 尝试此操作时,文件名和上传器将存储在数据库中,并且文件存储在我在 settings.py 文件中定义的媒体文件夹中。
我的问题是如何在 API POST 中使用 JSON 格式上传。
解决方案
您可以使用这段代码。为我工作。
import requests
def upload_file(file, url, token):
files = {
"file": file,
}
headers = {
"Authorization": "Token " + token,
"Content-Type": "multipart/form-data;boundary=---WebKitFormBoundaryyrV7KO0BoCBuDbTL"
}
response = requests.post(url, files=files, headers=headers)
return response
在views.py中:
if form.is_valid():
file = form.cleaned_data['file']
response = upload_file(file, url, token)
推荐阅读
- php - 尝试将函数添加到已经存在的 PHP 库
- windows - 如何使用通配符对目录中的文件进行计数?
- api - 使用 AA.com 网站上的发布 API 添加的随机生成的密钥
- java - 带有列表视图的视图持有者单选按钮
- oracle - OBIEE 创建存储库失败
- reactjs - React JS - TDD - 建议
- laravel - Laravel Flash Message - 显示已从 Voyager 管理面板设置的未转义 html
- xcode - 在 Xcode 中为 Objective-C 文档中的参数编写多行描述
- macros - 出乎意料地“不太可能”之前的clang格式中断
- reactjs - Redux 发现 prevState 和 currentState 的变化