[Programación]Subir archivo vía uhttps
"Sebastián D. Criado"
sebastian.criado en gmail.com
Lun Ago 30 14:53:57 ART 2010
El 30/08/10 14:11, federico luna escribió:
> 2010/8/30 "Sebastián D. Criado" <sebastian.criado en gmail.com>:
>> El archivo resultante contiene datos extras que tengo que sacar.
>>
>> para ello utilizo lo siguiente dentro del cgi fwupgrade.cgi
>>
>> skip=`sed '1{:a;s/\(name="*submitfile"*\)/\1/;t;n;ba;};/^.$/q' $file|wc -c`
>> FIRMWARE="/tmp/firmware.img"
>> dd if=$file bs=1 skip=$((skip)) of=$FIRMWARE 2>/dev/null
>>
>> ¿Existe otra forma vía http para subir el archivo directamente sin
>> necesidad de realizar este skip?
>
> Seba, el protocolo HTTP soporta otro method que se llama "PUT",
> pero la mayoria de los browser no usan este metodo para subir archivos.
> Y tenes que ver si uhttp lo soporta.
>
> No se muy bien que estas haciendo, pero se me ocurre:
> - Si estas subiendo las cosas desde un browser, podes usar el objeto
> XMLHttpRequest, y subir las cosas via PUT.
Bien, trate de utilizar un ejemplo como el que ví aquí:
http://www.webtoolkit.info/ajax-file-upload.html
pero no parece funcionar. El archivo resultante queda con la siguiete data
form%5Bname%5D=firmware&form%5Bfile%5D=nightwing_v0.7.5-combined.squashfs.img
Donde "firmware" es el nombre que le pongo en el formulario y
nightwing_v0.7.5-combined.squashfs.img es el archivo a subir.
> - Si estas implementando un cliente http, entonces pones las cabeceras
> adecuadas y listo.
Es un form.
>
> nota: por lo que se este metodo PUT es la forma en la que se suben
> grandes archivos, ya que no hay encodeo en el medio.
Entiendo, y parece ser la clave que estoy necesitando dado que quiero
evitar tener que traspasar el archivo usando dd. Si tenes algún otro
ejemplo, te lo agradecería. Igualmente, te agradezco lo que me has
pasado ahora. Es una punta que no conocía.
>
> espero te sirva.
>
> saludos
Saludos.-
--
Sebastian.Criado en gmail.com - GPG: 1024D/7D98DF14
37E4 246A F17B 689F 9F2D|counter.li.org: #146768
0578 B1AA 8CDB 7D98 DF14|http://www.lugro.org.ar
http://noalamatricula.wordpress.com/about/ read!
"Si el Universo fuera un programa estaría hecho
en C, y correría sobre un sistema UNIX" Anónimo.
Más información sobre la lista de distribución Programacion