Avatar billede alleslev Nybegynder
20. september 2003 - 16:58 Der er 1 løsning

Hjælp til omskrivning af opload script

hej

jeg hart denne kode som kan oplaode en fil til en mappe via ASP

jeg kunne godt tænke mig at få den lavet sådan at man kan oploade 6 filer på en gang... er der nolge der har et forslg til hvordan det kan gøres og evt gidder at vise mig det?

------Kode-----

<% OPTION EXPLICIT %>
<html><head><title>Upload</title></head><body>
<%
dim strAction
strAction = request("action")

select case strAction
  case "upload"
    UploadFile
  case else
    ShowForm
end select

' -------------------------------------
' Funktioner/procedurer
' -------------------------------------

sub ShowForm
  %>
  <form enctype="multipart/form-data" action="upload.asp?action=upload" method=post>
  Fil: <input type="file" name="file"><br>

  <input type="submit">
  </form>
  <%
end sub


sub UploadFile
  dim intPosMIMEHeader, intPosFileDataStart
  dim intPosFileNameStart, intPosFileNameEnd
  dim intPosFileDataEnd, intDataSize
  dim binData, binFileData, binFileName, binStart
  dim strFileName
  dim objFSO, objFile

  intDataSize = request.totalbytes
  binData = request.binaryread(intDataSize)

  intPosMIMEHeader = instrB(binData,chrB(13) & chrB(10)) - 1
  intPosFileDataStart = instrB(binData, chrB(13) & chrB(10) & chrB(13) & chrB(10)) + 4
  intPosFileNameStart = instrB(binData,cstrB("filename=")) + 10 
  intPosFileNameEnd = instrB(intPosFileNameStart,binData,chrB(34))
  binStart = midB(binData,1,intPosMimeHeader)
  binFileName = midB(binData,intPosFileNameStart, _
                    intPosFileNameEnd - intPosFileNameStart)
  intPosFileDataEnd = instrB(intPosMIMEHeader, binData, binStart) - 2

  strFileName = bin2str(binFileName)
  strFileName = right(strFileName, len(strFileName) - instrrev(strFileName,"\"))

  response.write "Filstørrelse: " & intPosFileDataEnd - intPosFileDataStart & _
                " bytes.<br>"
 
  set objFSO = server.createobject("Scripting.FileSystemObject")
  set objFile = objFSO.CreatetextFile(server.mappath("uploads\" & strFileName), _
                                      true, false)
  objFile.write bin2str(midB(binData, intPosFileDataStart, _
                        intPosFileDataEnd - intPosFileDataStart))
  objFile.close
  set objFile = Nothing
  set objFSO = Nothing
 
  response.write "<hr><img src='/uploads/" & strFileName & "'>"
end sub


function bin2str(byref binS)
  ' omdanner en binær følge til en tekststreng
  dim i, strRes
  for i = 1 to lenB(binS)
    strRes = strRes & chr(ascB(midB(binS, i, 1)))
  next
  bin2str = strRes
end function


function cstrB(strS)
  ' omdanner en tekststreng til en binær følge
  dim i, binRes
  for i = 1 to len(strS)
    binRes = binRes & chrB(asc(mid(strS,i,1)))
  next
  cstrB = binRes
end function

%>
</body></html>
Avatar billede alleslev Nybegynder
20. september 2003 - 20:25 #1
Lukket
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