Avatar billede zetn Nybegynder
06. december 2003 - 19:11 Der er 4 kommentarer og
1 løsning

ASP upload

Heysa, har dette upload script, men vil gerne have at request.querystring("id") også bliver sat ind i "url"
Er der nogle der kan hjælpe?

koden:


<%
response.buffer = true
Response.expires = 0
Response.expiresabsolute = Now() - 1
Response.addHeader "pragma", "no-cache"
Response.addHeader "cache-control", "private"
Response.CacheControl = "no-cache"
key = request.querystring("key")
eid = request.querystring("id")
session("site") = "admin"

If key = 1 then
byteCount = Request.TotalBytes
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,"\"))
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("database.mdb")
strsql = "SELECT * FROM [billednummer] WHERE [Id]=" & 1
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strsql, conn, 1, 2
count = rs("nummer") +1
rs("nummer") = count
rs.Update
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
tmp=filename
extention = Right(tmp,Len(tmp) - Instr(tmp,"."))
filename="fil_" & count & "." & extention
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("database.mdb")
strsql = "SELECT * FROM [url]"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strsql, conn, 1, 2
rs.AddNew
rs("url") = "uploads/" & filename
rs.Update
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
value = UploadRequest.Item("blob").Item("Value")
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("uploads/" & filename))
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close   
Sub BuildUploadRequest(RequestBin)
  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
  Response.Redirect "" & session("site") & ".asp?mode=attached"
End If
%>

<HTML>
  <HEAD>
</HEAD>
<BODY>
  <form METHOD='Post' ENCTYPE='multipart/form-data' ACTION='fileupload.asp?key=1' id='form3' name='form3'>
    <input TYPE="file" NAME="blob" class="input">
    <input type='submit' name='Action' value='UPLOAD'>
  </form>
</body>
</html>

Jacob
Avatar billede zetn Nybegynder
06. december 2003 - 19:12 #1
url er tabellen hvor linket bliver smidt ind i.
Avatar billede eagleeye Praktikant
06. december 2003 - 19:32 #2
Som jeg lige ser det kan du tilføje en kolonne mere til disse linjer:

rs.Open strsql, conn, 1, 2
rs.AddNew
rs("url") = "uploads/" & filename
rs.Update
rs.Close


Så de bliver:

rs.Open strsql, conn, 1, 2
rs.AddNew
rs("url") = "uploads/" & filename
rs("KOLONN_ID") = request.querystring("id")
rs.Update
rs.Close
Avatar billede zetn Nybegynder
06. december 2003 - 20:18 #3
Det virker ikke. Kolonnen er tom når jeg tjekker....
Avatar billede zetn Nybegynder
07. december 2003 - 17:39 #4
Glemte at den linkede til samme side uden idet.... Smid svar eagle
Avatar billede eagleeye Praktikant
07. december 2003 - 18:41 #5
OK ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Capgemini Danmark A/S

Java Engineer

Politiets Efterretningstjeneste

Configuration Manager til PET's IT-afdeling

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Kryptokustode til opbygning af Forsvarets nye IT-platform

Netcompany A/S

Network Engineer