Тип ошибки классификации изображений при использовании django-rest и react axios
Я работаю над проектом классификации изображений с django rest framework и react используя axios и 'получил ошибку, которая не позволила мне манипулировать моими изображениями
В качестве api model.py
from django.db import models
from keras.utils import img_to_array, load_img
import numpy as np
from keras.applications.vgg16 import preprocess_input
class PicUpload(models.Model):
imagefile = models.ImageField(upload_to = 'pic_upload')
car_Check=models.CharField(max_length=4,blank=True)
damage=models.CharField(max_length=4,blank=True)
location=models.CharField(max_length=10,blank=True)
severity=models.CharField(max_length=10,blank=True)
cost=models.CharField(max_length=20,blank=True)
uploaded=models.DateTimeField(auto_now_add=True)
def __str__(self):
return 'Image classified at {}'.format(self.uploaded.strftime('%Y-%m-%d %H:%M:%S'))
def save(self,*args,**kwargs):
try:
print(self.imagefile)
print('xxxxxxxxxxxxxxxxxx')
img =load_img(self.imagefile, target_size=(224, 224))
x = img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)
except Exception as e:
print('classification failed',e)
super().save(*args,**kwargs)
В качестве настройки
STATIC_URL = 'static/'
STATICFILES_DIRS=[STATIC_DIR,]
#PIC OR MEDIA
PIC_ROOT=PIC_DIR
PIC_URL='/pic_upload/'
#PIC_DIR = os.path.join(BASE_DIR, 'pic_upload')
#BASE_DIR = Path(__file__).resolve().parent.parent
# Default primary key field type
# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
Вот что я получаю в ответ
System check identified no issues (0 silenced).
June 10, 2022 - 13:48:59
Django version 4.0.4, using settings 'cardamage.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
karhba.jpeg
xxxxxxxxxxxxxxxxxx
classification failed path should be path-like or io.BytesIO, not <class 'django.db.models.fields.files.ImageFieldFile'>
[10/Jun/2022 13:49:13] "POST /api/PicUpload/ HTTP/1.1" 201 182
Зная, что я получил это в своей консоли
data: {…}, status: 201, statusText: 'Created', headers: {…}, config: {…}, …}
config: {transitional: {…}, transformRequest: Array(1), transformResponse: Array(1), timeout: 0, adapter: ƒ, …}
data: {id: 40, imagefile: 'http://127.0.0.1:8000/pic_upload/karhba_25x0vQD.jpeg', car_Check: '', damage: '', location: '', …}
headers: {content-length: '182', content-type: 'application/json'}
request: XMLHttpRequest {onreadystatechange: null, readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, …}
status: 201
statusText: "Created"
[[Prototype]]: Object
У меня возникла проблема при работе с изображением, и я не знаю, как ее решить