Django rest framework “错误:'InMemoryUploadedFile'对象没有属性'split'”
我正在尝试使用Django创建一个API,并使用POSTMAN进行测试 在尝试使用下面的代码测试API时,我发现了一个错误Django rest framework “错误:'InMemoryUploadedFile'对象没有属性'split'”,django-rest-framework,postman,Django Rest Framework,Postman,我正在尝试使用Django创建一个API,并使用POSTMAN进行测试 在尝试使用下面的代码测试API时,我发现了一个错误 @api_view(['POST','GET']) def predict_plant_disease(request): try: if request.body: request_data = request.data["plant_image"] image_data = request_data.split(';b
@api_view(['POST','GET'])
def predict_plant_disease(request):
try:
if request.body:
request_data = request.data["plant_image"]
image_data = request_data.split(';base64,')
image_array,err_msg =image_converter.convert_image(request_data)
if err_msg == None :
model_file = f"{BASE_DIR}/ml_files/cnn_model.pkl"
saved_classifier_model = pickle.load(open(model_file,'rb'))
prediction = saved_classifier_model.predict(image_array)
label_binarizer = pickle.load(open(f"{BASE_DIR}/ml_files/label_transform.pkl",'rb'))
return_data = {
"error" : "0",
"data" : f"{label_binarizer.inverse_transform(prediction)[0]}"
}
else :
return_data = {
"error" : "4",
"message" : f"Error : {err_msg}"
}
else :
return_data = {
"error" : "1",
"message" : "Request Body is empty",
}
except Exception as e:
return_data = {
"error" : "3",
"message" : f"Error : {str(e)}",
}
return HttpResponse(json.dumps(return_data), content_type='application/json; charset=utf-8')
由于“InMemoryUploadedFile”对象在外部if循环的第二行没有属性“split”,所以我得到了错误。
帮我解决这个错误
从POSTMAN API请求结果时显示错误的屏幕截图。从屏幕截图可以清楚地看出,u以文件的形式提供输入,而在代码中,图像被接受为编码的base64形式 将输入作为图像的编码base64形式。这种编码可以使用任何编码网站在线完成。