[DUDA] cURL subir imagen

Iniciado por Shell Root, 8 Septiembre 2015, 03:43 AM

0 Miembros y 1 Visitante están viendo este tema.

Shell Root

Tengo el siguiente problema, tengo que automatizar la subida de imagenes a un host, la petición que realiza es la siguiente:

POST:
-----------------------------14284656516611\r\n
Content-Disposition: form-data; name="Filedata"; filename="1.jpg"\r\n
Content-Type: image/jpeg\r\n
\r\n
ÿØÿà


Creo que usab UploadiFive, como le paso la ruta de la imagen? Trato de pasarsela en filename pero al tratar de subir sale un mensaje de error personalizado.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

T. Collins

#1
-F "Filedata=@/ruta/a/la/imagen.jpg"

Olvidalo, no había visto que era en PHP, lo que puse es por línea de comandos.

Shell Root

Así es como intento pasarla pero dentro de la petición, es decir:

Content-Disposition: form-data; name="Filedata"; filename="@/ruta/a/la/imagen.jpg"\r\n

Pero no funciona :/
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

MinusFour

Creo que puedes subir archivos con multipart/form-data asi:

Código (php) [Seleccionar]
//mime_types:
//http://www.freeformatter.com/mime-types-list.html
$ch = curl_init('http://www.url.com/'); //o tambien es valido CURLOPT_URL
$cfile = new CURLFile('rutaAlArchivo','mime_type','nombreNuevoDelArchivo');

$data = array('campoArchivo' => $cfile);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);


El ejemplo lo vine sacando de:

http://php.net/manual/en/curlfile.construct.php