Ir para conteúdo
Fórum Script Brasil
  • 0

Anexar Arquivo


ROLLL!!!!

Pergunta

Beleza, galera, como vão?!?!?!??!

To fazendo um formulario de curriculo em asp, simples com campos e tudo mais, mas além disso, tenho que colocar um campo onde a pessoa possa anexar arquixos e mandar junto com o formulário...não estou conseguindo...Estou usando o Dw8, como sempre usei, pra fazer esse lance, coloquei o form "file fields" junto com os outros campo, "nome", "endereço" e assim por diante, programo tudo com os devidos nomes e tudo mais, quando vou testar o formulario, preencho todos os campos, anexo um arquivo, mas quando chega no meu e-mail, os campos estão em brancos e nem o arquivo está anexado. Quando tiro, no dw8, o campo de anexar arquivos, o "file field", os campos preenchidos que não apareciam antes, aparecem...

O que devo fazer pra solucionar isso e fazer o campo de anexar funcionar??????

Valewwwwwww!!!!!!

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Estou postando o meu exemplo de upload sem componentes, a única coisa que você tem que fazer e dar permissão de escrita no diretório.

São 3 arquivos: enviar.asp, outputFile.asp e upload.asp

-------------

enviar.asp

-------------

<HTML>

<HEAD>

<TITLE>Upload Form</TITLE>

<style type="text/css">

<!--

.style12 {font-size: 9}

.style14 {font-size: 10px}

.style15 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; }

.style16 {font-size: 12px}

.style3 {font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 12px; }

.style8 {font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; }

-->

</style>

</HEAD>

<BODY>

<FORM METHOD="Post" ENCTYPE="multipart/form-data" ACTION="outputFile.asp">

<table width="600" border="0" align="left" cellpadding="1" cellspacing="1" bgcolor="#FF9900">

<tr bgcolor="#FFF2CC">

<td colspan="2"><div align="center"><span class="style8">Incluir Artigo.</span></div></td>

</tr>

<tr bgcolor="#FFF8E1">

<td width="19%" valign="top" bgcolor="#FFF8E1"><div align="right"><span class="style3">Nome do artigo </span></div></td>

<td><label>

<input name="artigo" type="text" id="artigo" size="60">

</label></td>

</tr>

<tr bgcolor="#FFF8E1">

<td valign="top" bgcolor="#FFF8E1"><div align="right"><span class="style3">Arquivo</span></div></td>

<td><input type="file" name="blob"></td>

</tr>

<tr bgcolor="#FFF8E1">

<td bgcolor="#FFF8E1"> </td>

<td><input name="Enter" type="submit" id="Enter" value="Incluir">

<a href="novo_cursos.asp"></a>

<input name="Button" type="button" value="Voltar" onClick="java script:history.back(-1)"></td>

</tr>

</table>

</FORM>

</BODY>

</HTML>

----------------

outputFile.asp

----------------

<%

Response.Expires=0

Response.Buffer = TRUE

Response.Clear

'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))

byteCount = Request.TotalBytes

'Response.BinaryWrite(Request.BinaryRead(varByteCount))

RequestBin = Request.BinaryRead(byteCount)

Dim UploadRequest

Set UploadRequest = CreateObject("Scripting.Dictionary")

'chama a função para baixar o arquivo

BuildUploadRequest RequestBin

artigo = UploadRequest.Item("artigo").Item("Value")

contentType = UploadRequest.Item("blob").Item("ContentType")

filepathname = UploadRequest.Item("blob").Item("FileName")

filename =Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))

value = UploadRequest.Item("blob").Item("Value")

'AQUI É O SERVEROBJECT PARA TRATAR ARQUIVOS TEXTO!!!!!

Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Cria e preenche o arquivo com os dados enviados

pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14

dim strLogPath

dim pos

pos = instrRev(Request.ServerVariables("PATH_INFO"),"/",-1)

strLogPath = left(Request.ServerVariables("PATH_INFO"),pos)

dim strpath

strPath = Request.ServerVariables("SERVER_NAME") & strLogpath

Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&""&filename)

For i = 1 to LenB(value)

MyFile.Write chr(AscB(MidB(value,i,1)))

Next

MyFile.Close

%>

<style type="text/css">

<!--

.style3 {font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 12px; }

.style8 {font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; }

-->

</style>

<table width="600" border="0" align="left" cellpadding="1" cellspacing="1" bgcolor="#FF9900">

<tr bgcolor="#FFF2CC">

<td><div align="center"><span class="style8"><b>Artigo enviado com sucesso</b>.</span></div></td>

</tr>

<tr bgcolor="#FFF8E1">

<td valign="top" bgcolor="#FFF8E1">

<div align="center" class="style8">

<!--#include file="upload.asp"-->

</div>

</label></td>

</tr>

</table>

----------

upload.asp

----------

<%

Sub BuildUploadRequest(RequestBin)

'Limite inferior

PosBeg = 1

'procura pela posição dentro de uma variável contendo bytes

PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))

'o mesmo que MID, mas para bytes

boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)

boundaryPos = InstrB(1,RequestBin,boundary)

'Obtém todos os dados dentro do limite

Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))

'Variáveis objeto são colocado em um objeto dicionário

Dim UploadControl

Set UploadControl = CreateObject("Scripting.Dictionary") 'cria um dicionário

'Pega o nome de cada objeto do form anteriro

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)

'Verifica se o item é um arquivo

If PosFile<>0 AND (PosFile<PosBound) Then

'Pega o nome,content-type e o conteúdo do arquivo

PosBeg = PosFile + 10

PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))

FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))

'adiciona o nome do arquivo ao dicionário

UploadControl.Add "FileName", FileName

Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))

PosBeg = Pos+14

PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))

'adiciona o content-type ao dicionário

ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))

UploadControl.Add "ContentType",ContentType

'Pega o conteúdo do arquivo

PosBeg = PosEnd+4

PosEnd = InstrB(PosBeg,RequestBin,boundary)-2

Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)

Else

'conteúdo do objeto

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

'adiciona o conteúdo ao objeto dicionário

UploadControl.Add "Value" , Value

'adiciona o objeto dicionário ao dicionário principa;

UploadRequest.Add name, UploadControl

'próximo objeto

BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)

Loop

End Sub

'Converte de string para byte

Function getByteString(StringStr)

For i = 1 to Len(StringStr)

char = Mid(StringStr,i,1)

getByteString = getByteString & chrB(AscB(char))

Next

End Function

'converte de byte para string

Function getString(StringBin)

getString =""

For intCount = 1 to LenB(StringBin)

getString = getString & chr(AscB(MidB(StringBin,intCount,1)))

Next

End Function

%>

Boa sorte.

Eddyboy

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...