Ir para conteúdo

POWERED BY:

Arquivado

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

sodate

Problemas com Upload

Recommended Posts

Olá ...

 

Estou com um problema com um upload aqui... ele dah esse erro...

 

 

 

Microsoft VBScript runtime error '800a01c9'

 

This key is already associated with an element of this collection

 

/admportal/campeonatos_Upload_funcoes.asp, line 44

 

eu chamo ele assim...

 

byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin

e esse é a linha que aparece o erro....

UploadControl.Add "Value", Value
  UploadRequest.Add Name, UploadControl
  BoundaryPos = InStrB(BoundaryPos + LenB(boundary), RequestBin, boundary)
	Loop

se alguém puder me ajudar ... ficaria extremamente agradecido! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui é onde eu faço os requests do formulario

 

CODE

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

<%

 

Call Abre_Conexao

Call titulo_pages

DIM dbBanco, Titulo, numero, descrerro

'On Error Resume Next

 

if session("adm") <> "ok" then

response.Redirect("index.htm")

end if

 

'Chamando funcoes, que fazem o Upload funcionar

byteCount = Request.TotalBytes

RequestBin = Request.BinaryRead(byteCount)

Set UploadRequest = CreateObject("Scripting.Dictionary")

 

 

BuildUploadRequest RequestBin

 

'Recuperando os Dados Digitados

'sor_id = trim(UploadRequest.Item("sor_id").Item("Value"))

sor_premio = trim(UploadRequest.Item("sor_premio").Item("Value"))

sor_nome = trim(UploadRequest.Item("sor_nome").Item("Value"))

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

sor_data2 = split(sor_data,",")

sor_data = cdate(sor_data2(0))

sor_data=year(sor_data)&"-"&month(sor_data)&"-"&day(sor_data)

 

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

sor_patrocinador = trim(UploadRequest.Item("sor_patrocinador").Item("Value"))

sor_localretirada = trim(UploadRequest.Item("sor_localretirada").Item("Value"))

sor_status = trim(UploadRequest.Item("sor_status").Item("Value"))

 

 

sor_fotopremio = trim(UploadRequest.Item("sor_fotopremio").Item("Value"))

sor_regulamento = trim(UploadRequest.Item("sor_regulamento").Item("Value"))

 

' response.write("sor id:"&sor_id&"<br>")

' response.write("sor premio: "&sor_premio&"<br>")

' response.write("sor nome: "&sor_nome&"<br>")

' response.write("sor nome: "&sor_data&"<br>")

' response.write("sor horario: "&sor_horario&"<br>")

' response.write("sor patrocinador: "&sor_patrocinador&"<br>")

' response.write("sor local retirada: "&sor_localretirada&"<br>")

' response.write("sor status: "&sor_status&"<br>")

' response.write("sor foto premio: "&sor_fotopremio&"<br>")

' response.write("sor regulamento: "&sor_regulamento&"<br>")

 

' response.End()

 

 

 

tipo_foto = trim(UploadRequest.Item("sor_fotopremio").Item("ContentType"))

if sor_regulamento <> "" then

caminho_regulamento = UploadRequest.Item("sor_regulamento").Item("FileName")

nome_regulamento = Right(caminho_regulamento,Len(caminho_regulamento)-InstrRev(caminho_regulamento,"\"))

regulamento = UploadRequest.Item("sor_regulamento").Item("Value")

end if

'Se for igual a application.. significa que o tipo da imagem é nulo, colocar image/gif, para poder passar sem foto.

if (trim(tipo_foto) = "application/octet-stream") then

tipo_foto = "image/gif"

end if

 

'pergunta se veio algum tipo e imagem, se não veio volta para a tela anterior

if tipo_foto <> "image/gif" and tipo_foto <> "image/pjpeg" then

response.Redirect("sorteios.asp?msg=Favor informar uma imagem valida: JPG ou GIF&sor_id="&sor_id)

response.End()

end if

 

'Caminho completo dos arquivos enviados

caminho_foto = UploadRequest.Item("sor_fotopremio").Item("FileName")

'response.Write "Caminho foto:"&caminho_foto&"<br>"

 

'Nome dos arquivos enviados

nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))

'response.Write "Nome foto:"&nome_foto&"<br>"

 

'Conteudo binario dos arquivos enviados

foto = UploadRequest.Item("sor_fotopremio").Item("Value")

'Begin cadastra os dados dos jogadores no banco de dados

sqlconsjog = "SELECT count(*) as contar FROM sorteio WHERE sor_nome = '"&sor_nome&"' and sor_datasorteio = '"&sor_datasorteio&"' and sor_premio = '"&sor_premio&"' and sor_horario='"&sor_horario&"'"

Set rsconsjog = dbbanco.Execute(sqlconsjog)

contjog = rsconsjog("contar")

Set rsconsjog = nothing

 

e este é o arquivo que da o erro na linha 44

CODE
<%

' Upload Sem componentes ---------------------------------------

Sub BuildUploadRequest(RequestBin)

'on error resume next

 

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))

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

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

Loop

End Sub

 

Function getByteString(StringStr)

For i = 1 To Len(StringStr)

Char = Mid(StringStr, i, 1)

getByteString = getByteString & ChrB(AscB(Char))

Next

End Function

 

Function getString(StringBin)

getString = ""

For intCount = 1 To LenB(StringBin)

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

Next

End Function

 

' Fim upload sem Componentes -----------------------------------------

 

%>

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.