Ir para conteúdo

POWERED BY:

Arquivado

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

cfaria

Upload e Registo em DB

Recommended Posts

Ola pessoal, estou com um problema que é o seguinte:Fiz um script para fazer o upload de ficheiros e registar seu nome na db, só que surge um problema , como o form é "enctype="multipart/form-data"" ele faz o upload e nãoregista na base de dados. Se tirar o "enctype="multipart/form-data"" ele regista na base de dados e não faz o upload.Alguem sabe explicar porque isso acontece????Desde ja agradeço vossa ajuda.Cfaria

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque é assim mesmo...apenas os dados devem ser recuperados de uma forma diferenteveja como voce faz o uploadnormalmente os dados são recuperados assimCAMPO = NOMEDOOBJETODEUPLOAD.form("NOMEDOCAMPODOFORM")Movido de Laboratório de scripts(ASP) para ASP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Viva pessoa,O problema é o seguinte,Na pagina que faz o upload eu preciso fazer tbem um request.form para armazenar o nome do arquivo em um banco de dados.so q ele da erro, dizendo q eu nao posso usar o request.form na mesma pagina do request.BinaryRead.o q fazer???O codigo do Upload é o seguinte:<% Server.ScriptTimeout = 5400Const ForWriting = 2Const TristateTrue = -1CrLf = Chr(13) & Chr(10) Function GetFieldName(infoStr) sPos = InStr(infoStr, "name=") EndPos = InStr(sPos + 6, infoStr, Chr(34) & ";") If EndPos = 0 Then EndPos = inStr(sPos + 6, infoStr, Chr(34)) End If GetFieldName = Mid(infoStr, sPos + 6, endPos - _ (sPos + 6))End FunctionFunction GetFileName(infoStr) sPos = InStr(infoStr, "filename=") EndPos = InStr(infoStr, Chr(34) & CrLf) GetFileName = Mid(infoStr, sPos + 10, EndPos - _ (sPos + 10))End FunctionFunction GetFileType(infoStr) sPos = InStr(infoStr, "Content-Type: ") GetFileType = Mid(infoStr, sPos + 14)End FunctiondPostData = ""Dim biDatabiData = Request.BinaryRead(Request.TotalBytes) For nIndex = 1 to LenB(biData) PostData = PostData & Chr(AscB(MidB(biData,nIndex,1)))Next ContentType = Request.ServerVariables( _ "HTTP_CONTENT_TYPE")ctArray = Split(ContentType, ";") If Trim(ctArray(0)) = "multipart/form-data" Then ErrMsg = "" bArray = Split(Trim(ctArray(1)), "=") Boundary = Trim(bArray(1)) FormData = Split(PostData, Boundary) Dim myRequest, myRequestFiles(9, 3) Set myRequest = CreateObject("Scripting.Dictionary") FileCount = 0 For x = 0 to UBound(FormData) InfoEnd = InStr(FormData(x), CrLf & CrLf) If InfoEnd > 0 Then varInfo = Mid(FormData(x), 3, InfoEnd - 3) varValue = Mid(FormData(x), InfoEnd + 4, _ Len(FormData(x)) - InfoEnd - 7) If (InStr(varInfo, "filename=") > 0) Then myRequestFiles(FileCount, 0) = GetFieldName( _ varInfo) myRequestFiles(FileCount, 1) = varValue myRequestFiles(FileCount, 2) = GetFileName( _ varInfo) myRequestFiles(FileCount, 3) = GetFileType( _ varInfo) FileCount = FileCount + 1 Else myRequest.add GetFieldName(varInfo), varValue End If End If NextElse ErrMsg = "Wrong encoding type!"End If Set lf = server.createObject("Scripting.FileSystemObject")If myRequest("filename") = "original" Then BrowserType = UCase(Request.ServerVariables( _ "HTTP_USER_AGENT")) If (InStr(BrowserType, "WIN") > 0) Then 'It's Windows; yank the filename off the end! sPos = InStrRev(myRequestFiles(0, 2), "\") fName = Mid(myRequestFiles(0, 2), sPos + 1) End If If (InStr(BrowserType, "MAC") > 0) Then 'It's a Mac. Simple. '(Mac filenames can contain characters that are 'illegal under Windows, so look out for that!) fName = myRequestFiles(0, 2) End If FilePath = "./img_stand/" & fNameElse FilePath = "./img_stand/" & myRequest("userSpecifiedName")End IfSavePath = Server.MapPath(FilePath)Set SaveFile = lf.CreateTextFile(SavePath, True)SaveFile.Write(myRequestFiles(0, 1))SaveFile.Close%>de seguida é necessário efectuar o Request.form mas ele não deixa.Como resolver o problema????Obrigada,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola pessoal

 

Já resolvi o problema, obrigado pela atenção dispensada

de naca tiozinho http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

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.