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

Upload !


WebSan.Com.Br

Pergunta

Olá para todos !

Eu tenho um sistema de upload sem necessidade de componentes, mas não consigo inserir novas buscas das fotos em up0load.

O que eu gostaria de modificar nele é o seguinte:

- Poder colocar um campo no form, junto com o file upload, com o nome = nome_da_foto, para quando ele for fazer o upload ele modifique o nome da foto.

- Tambem gostaria de mostrar na tela o tamanho da foto: "ex: Upload com sucesso, foto: XXX.jpg com Largura de 800 e altura de 600."

Isso eu queria para poder fazer alguns IF no código, para separar as fotos por grupos de tamanho.

E com o controle de tamanho das imagens, fazer com que se a imagem for maior que X, o upload não seja feito.

- E gostaria de saber como faço para que se a imagem for maior que X Kbs, o upload falhe tb.

- O upload é feito na pasta onde se encontra esses arquivos, mas gostaria que o upload fosse direcionado para uma pasta X.

onde essa pasta X poderia ser criada pelo usuário, como no PHP "<? mkdir("galeria/$nomedapasta", 0777); ?>" !

Desculpe pela quantidade de dúvidas de uma vez, mas não entendo muito de UpLoad, e tenho VARIOS sistemas de upload apra estudar, mas não consigo montar o meu !

Por Favor, HELP-ME !! Codigos abaixo:

default.asp

<form method="post" enctype="multipart/form-data" action="IMGsParcerias/outputFile.asp">
<table width="500" border="0" cellpadding="0" cellspacing="0" class="Verdana_12_PretoB">
<tr><td height="20">Limite máximo de 2 MegaBytes por imagem.<br><br></td></tr>
<tr>
<td height="50" align="center">Imagem: 
<input name="blob" type="file" class="BoxInput_12_Preto" size="25"></td></tr>
<tr><td height="50" align="center"><input name="Enter" type="submit" class="BoxInput_10_P_Baixo" value="Enviar Imagem"></td></tr>
</table>
</form>
outputFile.asp

<%
' Author Philippe Collignon
' Email PhCollignon@email.com

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

BuildUploadRequest  RequestBin

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

'Create FileSytemObject Component
 Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File
 pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
 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

%>

Upload Efetuado !<br>
<img src="<% = filename %>"><br><br>
Agora coloque o nome e descrição desta imagem.<br>
<form name="form1" method="post" action="insereDB.asp">
<input type="hidden" name="imagem_Parceria" value="<% = filename %>">
<br>
Nome:<input type="text" name="nome_Parceria">
(Ex: Funda&ccedil;&atilde;o Palavra M&aacute;gica)<br>
Desc:<input type="text" name="descricao_Parceria">
(Ex: Esta empresa est&aacute; colaborando com o projeto X e Y)<br>
Site:<input type="text" name="site_Parceria">
(Ex: www.site.com.br)<br>
<input name="submit" type="submit" id="submit" value="Submit">
</form>

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

<%
' Author Philippe Collignon
' Email PhCollignon@email.com

Sub BuildUploadRequest(RequestBin)
    'Get the boundary
    PosBeg = 1
    PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
    boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
    boundaryPos = InstrB(1,RequestBin,boundary)
    'Get all data inside the boundaries
    Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
        'Members variable of objects are put in a dictionary object
        Dim UploadControl
        Set UploadControl = CreateObject("Scripting.Dictionary")
        'Get an object name
        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)
        'Test if object is of file type
        If  PosFile<>0 AND (PosFile<PosBound) Then
            'Get Filename, content-type and content of file
            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)))
            'Add content-type to dictionary object
            ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
            UploadControl.Add "ContentType",ContentType
            'Get content of object
            PosBeg = PosEnd+4
            PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
            Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
            Else
            'Get content of object
            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
        'Add content to dictionary object
    UploadControl.Add "Value" , Value    
        'Add dictionary object to main dictionary
    UploadRequest.Add name, UploadControl    
        'Loop to next object
        BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
    Loop

End Sub

'String to byte string conversion
Function getByteString(StringStr)
 For i = 1 to Len(StringStr)
     char = Mid(StringStr,i,1)
    getByteString = getByteString & chrB(AscB(char))
 Next
End Function

'Byte string to string conversion
Function getString(StringBin)
 getString =""
 For intCount = 1 to LenB(StringBin)
    getString = getString & chr(AscB(MidB(StringBin,intCount,1))) 
 Next
End Function
%>

Grato desde já !

Editado por WebSan.Com.Br
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

beleza bareta, eu só optei pelo upload sem componentes, pelo problema de algumas hospedagem suportarem e outras não... acaba atrapalahndo um pouco.

Isso porque eu queria criar um sistema de upload sem componente e com o máximo de recursos possiveis, e que seja acessivel para qualquer tipo de hospedagem Win.

Mas vlw a ajuda... estou tentando modificar os códigos citados acima, com o forum que você me mandou !

Se alguém mais souber sobre outros tópicos onde se encontram minhas dúvidas, agradeço desde já.

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...