wordpress media_handle_upload para trabajar con blob o base64

4

caso: estoy intentando subir el audio del registro web a Wordress Post. así que tengo formulario con ID de publicación y archivo de tipo de entrada "audio_upload"

abajo está mi fragmento de código

 $audio_meta_value = media_handle_upload( 'audio_upload', $pid);

el código anterior funciona bien.

problema: He añadido el registro web a mi formulario en la parte inferior, puedo guardar el audio a través del código de abajo usando ajax, pero me quedo con la adición de ese audio a mi publicación.

¿Alguna posible solución? 1: ¿Existe alguna función de wordpress que acepte blob data / base64 encode en lugar de $ _FILES para guardar el archivo adjunto.

2: ¿puedo agregar datos de blob a la entrada del archivo en forma para que mi flujo anterior funcione?

código para guardar audio a través de ajax

Fr.voice.export(function(blob){
  var data = new FormData();
  data.append('file', blob);

  $.ajax({
    url: "server.php",
    type: 'POST',
    data: data,
    contentType: false,
    processData: false,
    success: function(data) {
      // Sent to Server
    }
  });
}, "blob");

Upload.php

if(isset($_FILES['file'])){
  // $audio = file_get_contents($_FILES['file']['tmp_name']);
  $audio = $_FILES['file']['tmp_name'];
  $newpath = "soundrec/uploaded_audio".time().".wav";
  rename($audio,$newpath);
  echo $newpath;
}
    
pregunta gaurav 18.09.2016 - 09:44

1 respuesta

1

puedes hacer eso con la función wp_handle_sideload enlace

Pasos para hacer esto:

  1. cree un archivo temporal con el contenido que necesita
  2. pase este nombre de archivo a la función wp_handle_sideload
respondido por el mmm 18.09.2016 - 11:05

Lea otras preguntas en las etiquetas