|
Jo hier kommts Markus -
ich hatte bisher aspupload von perists als
Testversion benutzt.
Leider arbeite ich hier an ner Fachhochschule und
die hat chronischen Geldmangel , daher zur ZEit
kein Softwarekauf ;-(
Hier also mal die upload.asp und die
Samaschke_upload.asp als include file, wie sie ohne ver�nderten Code von Carsten
Samaschke kommt:
1.upload.asp:
<!--#include
file="samaschke_upload.asp"-->
<%
Dim myDatei, myForm, sDateiName, sTemp call getData(myDatei, myForm) If Len(Trim(myDatei("datei").Item("FileName")))>0 Then sTemp=myDatei("datei").Item("FileName") sDateiName=myForm("pfad") & Split(sTemp,"\")(Ubound(Split(sTemp,"\"))) call SaveFile(myDatei("datei").Item("value"), sDateiName) bOk=True Else bOk=False End If %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html>
<head> <title>Ergebnis</title> </head> <body>
<%If bOk Then%>Die Datei <%=sTemp%> wurde erfolgreich gespeichert.<%End If%> </body> </html> und hier
2. samaschke_upload.asp:
<% Dim madeInit
Dim myResponse Dim mySession Dim myRequest Dim myServer ' Initialisierung
Private Sub init() madeInit = True End Sub Public Function getData(myDatei, myForm) Dim UploadRequest Set UploadRequest = CreateObject("Scripting.Dictionary") Set myDatei = CreateObject("Scripting.Dictionary") Set myForm = CreateObject("Scripting.Dictionary") RequestBin = Request.BinaryRead(Request.TotalBytes) '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) UploadControl.Add "Value", Value myDatei.Add Name, UploadControl 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)) myForm.Add Name, Value End If 'Loop to next object BoundaryPos = InStrB(BoundaryPos + LenB(boundary), RequestBin, boundary) Loop End Function 'Byte string to string conversion
Private Function getString(StringBin) getString = "" For intCount = 1 To LenB(StringBin) getString = getString & Chr(AscB(MidB(StringBin, intCount, 1))) Next End Function 'String to byte string conversion
Private Function getByteString(StringStr) For i = 1 To Len(StringStr) Char = Mid(StringStr, i, 1) getByteString = getByteString & ChrB(AscB(Char)) Next End Function Public Function SaveFile(inhalt, dateiname) Set ScriptObject = CreateObject("Scripting.FileSystemObject") Set MyFile = ScriptObject.CreateTextFile(dateiname) For i = 1 To LenB(inhalt) MyFile.Write Chr(AscB(MidB(inhalt, i, 1))) Next MyFile.Close End Function %> Danke f�r die M�he
Oliver
| Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/
| [aspdebeginners] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv
| Sie knnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp
|
