Tengo una imagen en el front-end y quiero enviarla al back-end. Tengo JavaScript simple en el front-end y Django-python en el back-end. Probé docenas de métodos diferentes y pasé semanas, pero no puedo resolver esto. ¿Pueden sugerir cómo puedo lograr esto en el front-end (parte de envío) y en el back-end (parte de recepción)? Un fragmento de código con un consejo sería muy apreciado. Estoy usando vistas basadas en funciones en el backend. ¿Puede alguien ayudarme con el código de back-end (si el código de front-end es correcto) para manejar la entrada desde el front-end? Porque primero convertí el archivo de imagen a flujo base 64 para enviarlo al backend a través de fetch api.
Código de front-end :
const { snippet, transform } = anno.getImageSnippetById(annotation.id) //this function returns a DOM canvas element in snippet variable const base64Canvas = snippet.toDataURL("image/jpeg").split(';base64,')[1]; //converting into a base64 stream fetch(url1,{ method:'POST', headers:{ 'Content-type':'application/json', 'X-CSRFToken':csrftoken, }, body: {'snippet':base64Canvas} })Código de fondo :
def snippetCreate(request): serializer = Annotated_SnippetsSerializer(data=request['snippet']) image = base64_to_image(base64_string=serializer.data) img = Annotated_Snippets(asnippet=image) img.save() return Response({'success':'success'}) ``` base64_to_image: ```def base64_to_image(base64_string): format, imgstr = base64_string.split(';base64,') ext = format.split('/')[-1] return ContentFile(base64.b64decode(imgstr), name=uuid.uuid4().hex + "." + ext) ```