Avatar billede alleslev Nybegynder
04. oktober 2003 - 16:26 Der er 7 kommentarer og
1 løsning

Er dette lovligt i server.mappath og FSO

Hej

det lyder nok ånsvagt men jeg har et sript på en server sokm jeg skal have til at bearbejde filer på en anden server
så er spørgsmålet vis man er på en server og skla mappathe en fil på en anden server hvad ksirver mna så?

Har prøvet med dette:
response.write server.mappath("http://www.domæne.dk/images/profilimg/")

men får følgende fejl:

Server.MapPath() error 'ASP 0173 : 80004005'

Invalid Path Character

/scripts/opload.asp, line 31

An invalid character was specified in the Path parameter for the MapPath method.


Håber i kna hjælpe:)
Avatar billede dawin_dk Nybegynder
04. oktober 2003 - 16:33 #1
det kan du ikke ... mappath bruges udelukkende til lokale stier ..  den finder det lokale filnan for den virtuelle sti ... og kan derfor kun finde noget lokalt ... og desuden er der sikkerhedsmæssige ting forbundet med hvis du havde lov til at ændre data med FSO på andres servere...
Avatar billede alleslev Nybegynder
04. oktober 2003 - 16:37 #2
Ja okay det lyder jo ret logsik, med andre ord jeg kan kan ikke have en kode på en server der oploader en fil til en anden server men ellers tusind tak for svaret så er det da på plads:)
Avatar billede dawin_dk Nybegynder
04. oktober 2003 - 16:42 #3
well.. jo .. du kan lade den anden server hente koden fra din side automatisk hver dag ... og så gemme det i en fil ...
Avatar billede dawin_dk Nybegynder
04. oktober 2003 - 16:43 #4
og du kan også lave så du smubmitter koden til en bestemt side (med en kode...) .. og den så gemmer det ... på den måde vil du kunne opdatere
Avatar billede alleslev Nybegynder
04. oktober 2003 - 16:49 #5
Nej jeg forsøger bare at at få koden til at du, for det startede med at vi har flyttet vores ide fra en server der kørte MS ASP til en der nu køre SUN ASP og det giver en del fejl,  jeg kunne lige prøve at smide koden her vis du gad se på det og så¨heller jeg lige nolge point oven i?
Avatar billede alleslev Nybegynder
04. oktober 2003 - 16:51 #6
<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
  %>
<h1>Opload profil billed</h1><br>
her kan du oploade dit personlige profil billede, billedet må max fylde 40 kb og vis du har oploadet billeder før vil dette blive slettet når du oploader et ny!!<br>
  <form enctype="multipart/form-data" action="<%=curfile%>?side=profil&vis=opload&action=upload" method=post>
  Fil: <input type="file" name="file" class='textbox'><br>
  <input type="submit" class='knap'>
  </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
    if intdatasize => 40000 then
    response.write "<h1>Fejl</h1><br>"
    response.write "Billedet er for stort til at du kan oploade det, det må max fylde 40 kb"
    response.write "<br><a href='" & curfile & "?side=profil&vis=opload'>Prøv igen</a>"
    else
  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>"
    response.write server.mappath("images\profilimg\")
 
  set objFSO = server.createobject("Scripting.FileSystemObject")
  set objFile = objFSO.CreatetextFile(server.mappath("images\profilimg\" & strFileName), _
                                      true, false)
  objFile.write bin2str(midB(binData, intPosFileDataStart, _
                        intPosFileDataEnd - intPosFileDataStart))
  objFile.close
  set objFile = Nothing
  set objFSO = Nothing

Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
fil = fs.Fileexists(server.mappath("images\profilimg\" & session("aktivbruger") & ".jpg"))
if fil = true then
set delfil = fs.getfile(server.mappath("images\profilimg\" & session("aktivbruger") & ".jpg"))
delfil.delete
end if

Set f = fs.GetFile(server.mappath("images\profilimg\" & strfilename))
f.name = session("aktivbruger") & ".jpg"  ' Fileobjectets property, name kan anvendes til ændring af filnavn
s = f.Name &" onDrive " & UCase(f.Drive) & vbCrLf

Response.Write s

 
SQL = "Update brugere set privatimg = '" & session("aktivbruger") & ".jpg' where id = " & session("aktivbruger")
conn.execute(SQL)

SQL = "update brugere set imgtype = '1' where id = " & session("aktivbruger")
conn.execute(SQL)

response.redirect "" & curfile & "?side=profil"

end if
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>

den giver følgende fejl:
Sun ONE ASP VBScript runtime (0x800A4001)
Function or method call not implemented: 'ChrB'
upload.asp, line 32

Og det ksla siges at har vikret korrekt før vi skiftede server:)
Avatar billede alleslev Nybegynder
04. oktober 2003 - 18:48 #7
svar
Avatar billede alleslev Nybegynder
04. oktober 2003 - 18:49 #8
svar
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