..:: MX Studio Fóruns ::..: Upload - mudando nome do arquivo - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Upload - mudando nome do arquivo

#1 User is offline   xanburzum 

  • Group: Administrador
  • Posts: 2376
  • Joined: 04-November 08

Posted 02 November 2011 - 12:30 PM

formulario.html
<HTML>
<HEAD>
<TITLE>Formulário de Upload</TITLE>
</HEAD>
<BODY>
<div align="center"><B>Envie sua foto!</b>
</div>
<FORM METHOD="Post" ENCTYPE="multipart/form-data" ACTION="outputFile.asp">

  <div align="center">Arquivo:
	<INPUT TYPE="file" NAME="blob">
	<BR>
	<INPUT NAME="Enter" TYPE="submit" value="Enviar">
  </div>
</FORM>

</BODY>
</HTML>


upload.asp

<%

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))
        	filename = hour(time) & minute(time) & day(date) & month(date) & year(date) & filename
        	'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
%>



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

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
%>
<p align="center"><b>Uploaded file : </b><%=filename%><BR>
  <img src="<%=filename%>">
  <!--#include file="upload.asp"-->
</p>

esta linha renomeia o arquivo

filename = hour(time) & minute(time) & day(date) & month(date) & year(date) & filename
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)