Olá pessoal. Peguei um Script do Thobias Salazar Trevisan na Internet, 
que faz Upload de arquivos em HTML com CGI. Mas para isso, eu não posso 
usar o Perl, nem PHP, Python, apenas bash.

O Script foi feito para enviar somente arquivos de texto, então queria 
adaptar ele para enviar arquivos de conteúdo binário, como fotos, docs, etc.

Pedi ajuda ao Flavio Torres, e ele coitado acabou perdendo dois dias 
comigo tentando descobrir uma forma de enviar os dados. Inclusive 
chegamos a conclusão que o Script só envia arquivos de texto.

Abaixo vai os Scripts:
----------------------------------------------------------------------------------------------------------
Upload.htm

<html>
<body>
<form enctype="multipart/form-data" action="/cgi-bin/upload.cgi"
method="post">
Enviar arquivo: <input name="userfile" size="30" type="file">
<BR><BR>
<input type="submit" value="Envia" name="Envia">
</form>
</body>
</html>
----------------------------------------------------------------------------------------------------------
Upload.CGI
#!/bin/sh

echo "<html><body><pre>"
# Limite
boundary=$(export | sed '/CONTENT_TYPE/!d;s/^.*dary=//;s/.$//')

# pegamos toda a entrada do POST e colocamos em VAR
VAR=$(sed -n '1,$p')

# pegamos o nome do arquivo que foi feito o upload
FILENAME=$(echo "$VAR" | sed -n '2!d;s/\(.*filename=\"\)\(.*\)\".*$/\2/;p')

# pegamos somente o conteudo do arquivo do upload
FILE=$(echo "$VAR" | sed -n "1,/$boundary/p" | sed '1,4d;$d')

# redirecionamos o conteudo do arquivo para um arquivo local no server
echo "$FILE" | sed '$d' > "/tmp/$FILENAME"

echo "</pre></body></html>"
----------------------------------------------------------------------------------------------------------

Qualquer opinião é bem vinda!

Atenciosamente,
Giuseppe


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a