Я хочу попытаться получить путь к загруженному пользователем изображению, и я продолжу кодировать base64, чтобы проанализировать результат API, и я пойман в ловушку в этой ошибке, я нашел эту ошибку в своем проекте django.
File "/root/wibuzone/tool/module/LookAnimeInfoWithImage.py", line 11, in request
self.data = {'image':base64.b64encode(open(self.path,'rb').read())}
TypeError: expected str, bytes or os.PathLike object, not InMemoryUploadedFile
forms.py
class LaiwiForm(forms.Form):
browse_a_file = forms.ImageField(
required=False,
widget=forms.FileInput(
attrs={
'class':'form-control',
},
),
)
image_url = forms.CharField(
max_length=200,
required=False,
widget=forms.TextInput(
attrs={
'class':'form-control',
'placeholder':'Image Url'
}
)
)
views.py
class laiwi(FormView):
form_class = LaiwiForm
template_name = "tool/laiwi.html"
def post(self,request):
if request.method == "POST" or "post":
if len(request.FILES['browse_a_file']) == 0:
pass
else:
imageFile = request.FILES['browse_a_file']
print (LookAnimeInfoWithImage.imagefile(imageFile))
return render(request,'tool/result/laiwi.html')
шаблон, laiwi . html
{% block content %}
<img src="{% static 'img/thumbnail/tool/laiwi.jpg' %}" class="img-thumbnail">
<br><br>
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-group">
<small class="form-text text-muted" style="padding-left:0.2em">masukan potongan gambar anime / hasil screenshot</small>
{{form.browse_a_file}}
<small class="form-text text-muted" style="padding-left:0.2">atau gunakan live url image</small>
{{form.image_url}}
</div>
<button type="sumbit" class="btn btn-primary">search</button></form>{% endblock content %}