Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

142
Views
Publicar imagen de blob en django rest framework con ajax

Tengo una página html que permite a un usuario tomar una captura de pantalla de su cámara. Esta captura de pantalla se representa en la página con la función de main.js a continuación.

Si hago console.log (imagen), obtengo una etiqueta de imagen con un src en un blob: http que tiene la imagen.

Ahora viene la parte divertida. Quiero publicar esta imagen en mi API en Django Rest Framework.

Básicamente, ¿cómo paso de una imagen de blob a una solicitud de publicación a la API?

Intenté usar $.ajax pero no sé cómo formatear los "datos de blob" para que se acepten para el campo de parámetro "datos:" en ajax.

Tenga en cuenta también que no estoy usando formularios en html, cuando lo hago, la página html se actualiza tan pronto como tomo una captura de pantalla para que la imagen no permanezca en la página.

Si tengo que usar formularios para que esto funcione, házmelo saber e intentaré otro enfoque.

principal.js

 async function grabFrame() { const img = await imageCapture.grabFrame(); const url = URL.createObjectURL(await imageCapture.takePhoto()); document.querySelector("img").src = url #id_image is where the screenshot is located const image = document.getElementById('id_image') console.log(image)

índice.html

 <button onclick="grabFrame()">Grab Frame</button> <img id="id_image" style="width:320px; height:240px"/>

modelos.py

 class Image(models.Model): image = models.ImageField(upload_to='media/')

serializador.py

 class ScreenshotCreateSerializer(ModelSerializer): class Meta: model = Image fields = [ 'image' ]

vistas.py

 class SaveScreenshot(CreateAPIView): serializer_class = ScreenshotCreateSerializer permission_classes = [AllowAny] def home_view(request): return render(request, 'index.html', {})

lo que probé en main.js

 // $.ajax({ // url: "/api/save_screenshot", // type: "POST", // processData: false, // mimeType: "multipart/form-data", // contentType: false, // data: blob data?, // success: function (data) { // alert("Screenshot saved successfully!"); // }, // error: function (e) { // console.log(e); // } // }).done(function(o) { // });
over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!