我需要将json数据和文件发送到我在django中的API。在客户端,我使用请求,我将在下面分享代码。我尝试了这段代码,但它给出了“django.http.request.RawPostDataException:从请求的数据流“”阅读后,无法访问正文。希望你能帮上忙。
客户端:
import requests
my_json={
#some json data
}
file = {"file": open("sample.txt", "rb")}
response = requests.post(
"http://127.0.0.1:8000/API/upload-file", data=my_json, files=file
)
print(response.text)
www.example.com中的端点views.py
def get_file(request):
if request.method == "POST":
uploaded_file = request.FILES["file"]
json_data = json.loads(request.body)
print(json_data)
print(uploaded_file.filename)
1条答案
按热度按时间fivyi3re1#
经过一番研究,我找到了解决办法。在客户端使用请求的数据键发送JSON是必不可少的。如果你尝试使用json key发送它,你会得到TypeError:只能将str(不是“NoneType”)连接到str。服务器端的工作代码如下:
在我的例子中,我只需要json中的特定密钥对,所以我只是简单地使用
request.data.get("key_value")
而不是转换。