Tjena! Hej! Hjälpte mej inte speciellt. Har testat lite varianter, men de funk int´. Ska det va så svårt och få filen dit man vill???? Jag märkte det själv... Jag håller på med precis samma sak nu... Jag fick det till att fungera, men har tyvärr skrivit över den filen så jag är tillbaka till början, men om jag löser det så meddelar jag dig det Nu löste jag det...FSO Funderingar, ladda upp bilder
Jag kör ett script här från pellesoft som laddar upp bilder eller filer. Filerna lägger sig i den mapp man kör scriptet ifrån, men jag skulle vilja ha dom på ett annat ställe. Sen skulle jag vilja att man kunde skriva så alla filer blir unika, DVS om det redan finns en fil som heter hej.jpg så ska scriptet döpa om den till typ hej_2.jpg. Så här ser koden ut:
<code>
<!--#include file="laddaupp.asp"-->
<%
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
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")
Re_Direct = UploadRequest.Item("Re_Direct").Item("Value")
Id_Bilden = UploadRequest.Item("Id_Bild").Item("Value")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("blob").Item("Value")
'Skapar FSO Objectet
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
'Skapar och skriver till filen
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
Set MyFile = FSO.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
'Stänger våra object
MyFile.Close
Set FSO = Nothing
'Lägger till filnamnet i databas och går tillbaka till ursprungssidan
response.Redirect "dumskalle.asp?SidId=4&Id="&Re_Direct&"&dumt="&filename&"&dummast="&Id_Bilden
%>
</code>
Och här kommer incudefilen laddaupp.asp
<code>
<%
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
%>
</code>
Detta är inte livsviktigt men det vore kul vetra hur man gör!
Ha det/HampusSv: FSO Funderingar, ladda upp bilder
har haft liknande frågor kolla på inlägg [Hmm.. var finns mål mappen]
Kan ge dig en ledtråd
PhinalaSv: FSO Funderingar, ladda upp bilder
Det är väl det här jag inte får till antar jag:
<code>
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
Set MyFile = FSO.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
</code>Sv: FSO Funderingar, ladda upp bilder
/PhinalaSv: FSO Funderingar, ladda upp bilder
<code>
Set MyFile = FSO.CreateTextFile(Server.mappath("Filer/" & filename))
</code>
Problemet jag hade var att filen hamnade i root och blev döpt till "FilerKunder.txt"
men nu ligger de vackert i sin mapp
(Phinala