Vart ska man kunna browsa?
På klienten eller servern?
cya,
PatrikB
------------------
*ordning och reda!, pengar på fredag.*
6 svar · 234 visningar · startad av soffan76
Hejsan hej!
Jag har ett script som visar en bild vars namn man skriver in i en textbox. Vad jag nu vill göra är att skapa en browse-knapp så man först kan leta upp bilden och slipper skriva in bildnamnet manuellt. Nån som vet? Tacksam för hjälp.
Mvh Sofia
Så här ser mitt skript ut:
<html>
<head><title>Getting Images with DHTML/ASP</title></head>
<script>
function ShowImg() {
frm.imgarea.src = frm.imgName.value;
}
</script>
<body>
<h2>Getting Images the DHTML way.</h2>
<hr>
<form name=frm id=frm>
Image Name =
<input type="text" size=40 name="imgName" value="NewWroxLogo.gif">
<input type="button" value="Show" onclick="ShowImg()">
</input>
<hr>
<img id="imgarea" src="vit_ruta.gif" style="visibility:0">
<hr>
</form>
</body>
</html>
------------------
Sofia
[Redigerat av soffan76 den 28 sep 2001]
Vart ska man kunna browsa?
På klienten eller servern?
cya,
PatrikB
------------------
*ordning och reda!, pengar på fredag.*
På klienten. Jag sitter här och testar på min egen dator, har inte kommit så långt som till servern ännu men längre fram så...
Nu vill jag bara att man ska kunna browsa efter en bild, få upp sökväg och filnamn i textboxen och sen trycka på knappen "show" och så ska bilden visas.
------------------
Sofia
Ja, om man tar bort enctype i formtaggen så kan man använda Request.Form("FieldName") för att hämta sökvägen till vald fil och sedan lägga in den sökvägen i <IMG> taggen ...
cya,
PatrikB
------------------
*ordning och reda!, pengar på fredag.*
Hello igen.
hittade ju ett litet script som du kan använda.
Det är Phillipe Collignon's upload script. Med hjälp av det så får man fram hela sökvägen till filen som ligger på klienten.
Om du senare vill använda detta för att även ladda upp filer så går det oxå bra.
Det är bara att avkommatera de raderna som skapar och skriver data till en fil på servern.
OK, slutsnackat om det här kommer koden:
<%
Option Explicit
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
Dim byteCount, pathEnd, i, intFile, intF
Dim RequestBin, Value
Dim UploadRequest, ScriptObject, MyFile, objItem
Dim filename, contentType, filepathname
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin
'## -- loop this section as many times that you have files --
contentType = UploadRequest.Item("txt_File" & intFile).Item("ContentType")
filepathname = UploadRequest.Item("txt_File" & intFile).Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
'## -- to save the file to the server uncomment lines below --
'-------------------------------------------------------------
'value = UploadRequest.Item("txt_File" & intFile).Item("Value")
'## -- Create FileSytemObject Component
'Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
'## -- Create and Write to a File --
'pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
'## -- upload the file to server --
'Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/upload/"&filename))
'response.write Server.mappath(filename) & "<BR>"
'For i = 1 to LenB(value)
' MyFile.Write chr(AscB(MidB(value,i,1)))
'Next
'MyFile.Close
'## -- stop uncomment lines here --
'----------------------------------
%>
<HTML>
<HEAD>
<TITLE>Show Image</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY bgcolor="#FFFFFF" text="#000000">
<IMG src="<% =filepathname%>"><BR>
<small><% =filename%></small>
</BODY>
</HTML>
<%
'## -- String to byte string conversion --
' Author Philippe Collignon
' Email PhCollignon@email.com
'-----------------------------------------------------------
'## -- updated by Patrik Berggren for multiple fileupload --
'-----------------------------------------------------------
Sub BuildUploadRequest(RequestBin)
Dim PosBeg, PosEnd, boundaryPos, Pos
Dim boundary, PosFile, PosBound
Dim Name
'## -- 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
'intF = intF + 1
'## -- 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)
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))
End If
'## -- Add content to dictionary object --
UploadControl.Add "Value" , Value
'## -- Add dictionary object to main dictionary --
UploadRequest.Add name, UploadControl
'## -- Loop to next object --
BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
Set UploadControl = Nothing
Loop
End Sub
'## -- String to byte string conversion --
Function getByteString(StringStr)
Dim i
Dim char
Dim binString
For i = 1 to Len(StringStr)
char = Mid(StringStr,i,1)
binString = binString & chrB(AscB(char))
Next
getByteString = binString
End Function
'## -- Byte string to string conversion --
Function getString(StringBin)
Dim strString
Dim intCount
strString =""
For intCount = 1 to LenB(StringBin)
strString = strString & chr(AscB(MidB(StringBin,intCount,1)))
Next
getString = strString
End Function%>
kanske lite mycket overkill för att få fram sökvägen till filen, men, men ... kan inget annat *ler*
cya,
PatrikB
------------------
*ordning och reda!, pengar på fredag.*