Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gdias

UPLOAD sem o método BinaryRead

Recommended Posts

Salve amigos...

 

Estou numa enrascada (rs)!

 

Tenho um formlário de notícias em que o usuário poderá digitar o titulo da matéria, o texto e a data de expiração, ou seja, quando a matéria sai do ar...

 

Beleza!

 

Pega tudo e grava no SQL.. show

 

O problema é que o usuário pode escolher uma imagem ao invés de um texto... neste caso preciso fazer upload da imagem...

 

É aí que a porca torce o rabo (rs)... olha o erro que dá!

 

Tipo de erro:

Objeto Request, ASP 0206 (0x80004005)

Não é possível chamar o BinaryRead depois de usar a coleção Request.Form.

 

 

segue meu código:

 

<script>function GRAVAROutro(quem){if (quem == "ConC"){ document.Outro.action = "adm_texto_informativo.asp?OPCAO=CONC";}if (quem == "ConT"){ document.Outro.action = "adm_texto_informativo.asp?OPCAO=CONT";}document.Outro.submit();}</script><table border="0">   <form method="post" action name="Outro">      <input type="hidden" value="SAVE" name="ACAO">   <input type="hidden" value="<%=ESTE%>" name="PK_ID_ORDEM">   <input type="hidden" value="<%=objRS("INDEX_CONTEUDO")%>" name="INDEX_CONTEUDO">   <input type="hidden" value="<%=objRS("INDEX_CONTEUDO")%>" name="INDEX2_CONTEUDO">   <input type="hidden" value="PEN" name="QL_ESTADO_TEXTO">         <tr class="ADMS_TXT">    <td width="81">Sub Titulo :</td>    <td width="519">     <input name="QL_TITULO" type="text" size="50" class="formulario" maxlength="25"></td>   </tr>   <tr class="ADMS_TXT">    <td width="81">Incluir :</td>    <td width="519">     <input name="QL_TIPO" type="radio" value="txt" onClick="texto.style.visibility='visible';imagem.style.visibility='hidden';">Texto<br>     <input name="QL_TIPO" type="radio" value="img" onClick="imagem.style.visibility='visible';texto.style.visibility='hidden';">Imagem    </td>   </tr>      <tr class="ADMS_TXT">    <td colspan="2">     <div align="left" style="visibility:hidden;position:relative;" id="texto">      Texto :<br>      <textarea rows="5" cols="112" name="QL_TEXTO_TXT" onkeypress="limitador2();" class="formulario"></textarea><br>      <input type="text" name="Count" size="5" class="formulario"> <font size="1">até 4.000 caracteres por parágrafo</font><br>     </div>     <div align="left" style="visibility:hidden;position:relative;top:-102;" id="imagem">      Imagem :<br><input type="file" name="QL_TEXTO_IMG" size="50" enctype="multipart/form-data" class="formulario">     </div>    </td>    </tr>   <tr class="ADMS_TXT">    <td width="81">Expira em :</td>    <td width="519">     <input name="DT_FIM" type="text" value="dd/mm/aaaa" size="12" onfocus="if(this.value=='dd/mm/aaaa')this.value=''" class="formulario" maxlength="10"> <font size="1">deixe em branco caso não haja data para expirar</font><br>    </td>   </tr>         <tr class="ADMS_TXT">    <td colspan="2" align="center" height="30">     <input type="Button" name="Concluir" value="Salvar e Concluir" onClick="javascript: GRAVAROutro('ConC')">       <input type="Button" name="Continuar" value="Salvar e Continuar" onClick="javascript: GRAVAROutro('ConT')">       <input type="Button" value="Voltar" onclick="javascript:history.go(-2);">    </td>   </tr>  </table></form>

 

upload.asp

<%    Response.Expires=0    Response.Buffer = TRUE    Response.ClearbyteCount = Request.TotalBytesRequestBin = Request.BinaryRead(byteCount)Dim UploadRequestSet UploadRequest = CreateObject("Scripting.Dictionary")BuildUploadRequest  RequestBincontentType  = UploadRequest.Item("QL_TEXTO_IMG").Item("ContentType") filepathname = UploadRequest.Item("QL_TEXTO_IMG").Item("FileName") filename     = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\")) value        = UploadRequest.Item("QL_TEXTO_IMG").Item("Value") Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject") pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14          Set MyFile = ScriptObject.CreateTextFile("c:\YESALEL\INTRANET_REDEA_G4\Intranet_Redea_G4_Local\IMAGENS\CONTEXTO"&(ID_CONTEXTO)&"\"&filename)  For i = 1 to LenB(value)   MyFile.Write chr(AscB(MidB(value,i,1))) Next MyFile.Close%><!--includefile="BuildUploadRequest.asp"-->

 

BuildUploadRequest.asp

<%Sub BuildUploadRequest(RequestBin) 	PosBeg = 1	PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))	boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)	boundaryPos = InstrB(1,RequestBin,boundary) 	Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))     Dim UploadControl  Set UploadControl = CreateObject("Scripting.Dictionary")     Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))  Pos = InstrB(Pos,RequestBin,getByteString("name="))  PosBeg = Pos+6  PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))  Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))  PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))  PosBound = InstrB(PosEnd,RequestBin,boundary)     If  PosFile<>0 AND (PosFile<PosBound) Then     	 PosBeg = PosFile + 10 	 PosEnd =  InstrB(PosBeg,RequestBin,getByteString(chr(34))) 	 FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg)) 	  	 'Add filename to dictionary object 	 UploadControl.Add "FileName", FileName 	 Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:")) 	 PosBeg = Pos+14 	 PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))     	 ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg)) 	 UploadControl.Add "ContentType",ContentType     	 PosBeg = PosEnd+4 	 PosEnd = InstrB(PosBeg,RequestBin,boundary)-2 	 Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg) 	 Else     	 Pos = InstrB(Pos,RequestBin,getByteString(chr(13))) 	 PosBeg = Pos+4 	 PosEnd = InstrB(PosBeg,RequestBin,boundary)-2 	 Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))  End If   	UploadControl.Add "Value" , Value	   	UploadRequest.Add name, UploadControl	  'Loop    BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)	LoopEnd Sub Function getByteString(StringStr) For i = 1 to Len(StringStr)  char = Mid(StringStr,i,1)	getByteString = getByteString & chrB(AscB(char)) NextEnd Function Function getString(StringBin) getString ="" For intCount = 1 to LenB(StringBin)	getString = getString & chr(AscB(MidB(StringBin,intCount,1)))  Next End Function%>

Se alguem tiver algo mais simples me serve...

Desde já obrigado pela atenção...

 

Abraços,

Gustavo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera... tá batendo desespero... alguém pode postar um código simples de upload sem componentes?GratoGustavo

Compartilhar este post


Link para o post
Compartilhar em outros sites

baixa o freeaspupload de www.freeaspupload.net que vem com um exemplo de upload, e este é sem componente como você pediubem pra pegar o conteudo de campos de form basta ao inves de pegar com request.form pegar com o nome do objeto de upload.form...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve amigos...

 

Tá dando pau...

 

 

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A03EA)

Erro de sintaxe

/Intranet_G4_Local/adms/freeaspupload.asp, line 3

Class FreeASPUpload

 

 

<%Class FreeASPUpload	Public UploadedFiles	Public FormElements	Private VarArrayBinRequest	Private StreamRequest	Private uploadedYet

o que faço?

 

Abraços,

Gustavo

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara você esta usando a classe??teste com o aquivo de teste, que ele chma a classe??

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.