• 0
sergiolimo

Adjuntar archivo

Question

Buenas tardes! Estoy muy trabado desde hace unos dias, necesito saber como puedo adjuntar un archivo en un mensaje post venta, ya lei la documentacion, que es poca para este punto, y puedo enviar mensajes perfectamente pero no los adjuntos! Lo que no termino de entender es el procedimiento

Yo lo que hice fue mediante mi aplicacion, subir el archivo a una carpeta temporal (ejemplo https://www.soloprueba.com/archivo.jpg) y desde alli hacer la llamada con la ruta file=https://www.soloprueba.com/archivo.jpg (aca es donde hago agua, seguramente esta mal esto)... pero siempre da error File attachment must be present

Luego a modo de prueba intente directo desde el disco local y tampoco doy con la ruta...

Me podrian explicar por favor como es el procedimiento? o sea desde donde lo tengo que leer y un ejemplo de ruta (consulte a soporte y realmente me confundieron mas, ya que me respondieron exactamente: Te cuento que no es posible enviar una ruta de un servidor, se debe descarga previamente, guardarla localmente y luego con esa ruta, como por ejemplo /Users/Downloads/Banner.jpg, enviarlo mediante la api)

Descargarlo? para que lo subo y luego lo descargo, no entendi el mensaje... guardarlo localmente? pero si originalmente esta asi, localmente! y me dio una ruta de ejemplo relativa, no se donde tiene que estar el archivo!! Ya no se si volver a consultarle ya que entramos como en bucle

Gracias de antemano por la ayuda!

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

Hola

Estaba tratando de llegar a lo mismo pero usando jquery para enviar un archivo a un script en php.

Lo de enviar el archivo con Jquery estaba facil, el show fue que no podia procesarlo en php.

if (isset($_FILES['files']) ){

  try {
    $f = $_FILES['files']['tmp_name'][0];
    $fn = $_FILES['files']['name'][0];
    $m = $_FILES['files']['type'][0];

    $url = 'https://api.mercadolibre.com/messages/attachments?access_token='.$token;

    $args['file'] = new CurlFile($f, $m, $fn);
    
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HTTPHEADER,array('Content-Type: multipart/form-data'));
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // stop verifying certificate
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $args); // post images
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); // if any redirection after upload
    $r = curl_exec($curl);
    curl_close($curl);

    print_r($r); 

  } catch (RuntimeException $e) {

      echo $e->getMessage();

  }

}

Y con ese codigo pude hacer que me devolviera el id del archivo subido al servidor de ML

Saludos!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now