webForumDet fria alternativet

browsa filstrukturen på webservern istället för sin egen klient

ASP

4 svar · 241 visningar · startad av mattiasnordin

Medlem sedan maj 20012 080 inlägg
Frågan#1

Antar att man inte kan få en form att browsa filstrukturen på webservern istället för sin egen klient...

<input type="file">

Finns det någon fiffig lösning för det? Det jag vill åstakomma är att man ska kunna välja en fil som ligger i en katalog på servern. Pathen på filen man väljer vill jag sedan använda. Optimalt vore om man kunde hindra användaren att navigera mot rooten, men det är inte nödvändigt då detta är ett helt internt verktyg på ett slutet nätverk.

Några ideer?

Medlem sedan mars 20023 561 inlägg
#2

Du får nog själv konstruera den möjligheten med FSO, skulle jag tro.

Medlem sedan maj 20012 080 inlägg
#3

Jo. Antog att det skulle bli så. Det går ju men det blir några rader kod. :-)

Medlem sedan mars 20016 260 inlägg
#4

Ett bra exempel på ett sånt här script hade kunnat vara?

Medlem sedan maj 20012 080 inlägg
#5

Orkar inte klippa ut det som är intressant. Du får hela sidan.

Denna kod använder jag för att browsa fram en katalog på mitt intranät. Där ska en fil väljas. Sökvägen till denna fil skickas sedan vidare till en annan sida (om jag mins rätt).

Det går även att skicka med vilken katalog som ska vara browsing root i länken som öppnar denna sida. Kanske inte det säkraste men på min site spelar det inte någon roll...

Hoppas det är något att ha ;)


<!--- input --->
<%
if request.querystring("selected_path")	<> "" then 'This can only happen once 
	' Tar bort 
	varSelectedPath = request.querystring("selected_path")	
	session("varRootPath") = varSelectedPath	'Save the path, not to be changed in this session.
else
	varSelectedPath = request.form("selected_path")	
end if
varSelectedPathAndFile = request("selected_path_and_file")
%>

<% 'Saving the selected file in a session
if varSelectedPathAndFile <> "" then
	'remove root path from variabel
	if instr(varSelectedPathAndFile, ":") <> 0 then
	varLen = len(varSelectedPathAndFile)
	varSelectedPathAndFile = right(varSelectedPathAndFile,varLen-15)
	session("selectedPathAndFile") = varSelectedPathAndFile
	else
	session("selectedPathAndFile") = varSelectedPathAndFile
	end if
end if %>

<% 'Set default paths
if session("varRootPath") = "" then
varRootPath = Server.MapPath("/") 	'Webrooten
else 
varRootPath = session("varRootPath")
end if	
		
'Fixar till slashproblemet
varRootPath = Replace(varRootPath, "\", "/") 
if varSelectedPath = "" then		'Om inte vald path är vald så ska vi börja från rooten.
varSelectedPath = varRootPath 
end if
'Sparar vald path i en session
session("selected_path") = varSelectedPath
%>

<style type="text/css">
<!--
a.test {
	display: inline-block;
	border: 1px solid efefef;
	text-decoration: none; 
	cursor: pointer;
}
a.test:hover {
	border: 1px solid blue
	}
-->
</style>

<% sub subShowTree() %>
<%  'Create the FileSystemObject object
  Dim objFile
  Dim objFSO
  Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
  'Obtain an folder object instance for a particular directory
  Dim objFolder
  Set objFolder = objFSO.GetFolder(varSelectedPath) %>

<% ' Hämtar förra katalogens path '
if varSelectedPath <> "" then
	varStartPos = InStrRev(varSelectedPath, "/") 
	varBackOneStepPath = left(varSelectedPath, varStartPos-1)
end if %> 
<% ' visar tillbaka länken om inte rooten är nådd ' 
if lcase(varSelectedPath) = lcase(varRootPath) then %>
	<img align="absmiddle" src="/_special/ico_folder_back.gif"> 
	<font face=tahoma size=1 color=gray>
	This is your root<br>
	</font>
<% else %>
	<a href="#" class="test" onClick="set_path_form.selected_path.value='<%=varBackOneStepPath%>';set_path_form.submit();">
		<img align="absmiddle" border=0 src="/_special/ico_folder_back.gif">
		<font face=tahoma size=1 color=gray>... back</font>
	</a><br>
<%end if%>

	<%
	'remove root path from variabel
	varLen = len(varSelectedPath)
	varCutSelectedPath = right(varSelectedPath,varLen-15)
	%>
  	<font size=1><br></font>
	<img align="absmiddle" src="/_special/ico_folder_open.gif">	<%=varCutSelectedPath%><br>
	<% For Each subfol in objFolder.SubFolders %> 
		<img src="/_special/gray_dotted.gif">
		<a href="#" class="test" onClick="set_path_form.selected_path.value='<%=Replace(subfol.path, "\", "/")%>';set_path_form.submit();">
			<img border=0 align="absmiddle" src="ico_closed-map_trans_16x16.gif">
			<%=subfol.Name %>
		</a><br>   
	<% Next %>

	<% varStyle = "onmouseover=''''this.style.backgroundColor=blue'''';" %>
	
	<% For Each objFile in objFolder.Files %>
	    <% if instr(objFile.Name,".asp") or  instr(objFile.Name,".htm") then%>
	    <img src="/_special/gray_dotted.gif">
			<a href="#" class="test" onClick="set_path_form.selected_path_and_file.value='<%=Replace(objFolder.path, "\", "/")%>/<%=objFile.Name%>' ;set_path_form.submit();">
			<img border=0 align="absmiddle" vspace=1 src="/_special/ico_doc_msie_trans_16x16.gif"> 
			<%=objFile.Name%>
			</a><br>
		<%elseif instr(objFile.Name,".gif") then%>
	    <img src="/_special/gray_dotted.gif">
			<a href="#" class="test" onClick="set_path_form.selected_path_and_file.value='<%=Replace(objFolder.path, "\", "/")%>/<%=objFile.Name%>' ;set_path_form.submit();">
			<img border=0 align="absmiddle" vspace=1 src="/_special/ico_doc_gif_trans_16x16.gif"> 
			<%=objFile.Name%>
			</a><br>
		<%elseif instr(objFile.Name,".jpg") then %>
	    <img src="/_special/gray_dotted.gif">
			<a href="#" class="test" onClick="set_path_form.selected_path_and_file.value='<%=Replace(objFolder.path, "\", "/")%>/<%=objFile.Name%>' ;set_path_form.submit();">
			<img border=0 align="absmiddle" vspace=1 src="/_special/ico_jpg.gif"> 
			<%=objFile.Name%>
			</a><br>
		<% else %>
	    <img src="/_special/gray_dotted.gif">
			<a href="#" class="test" onClick="set_path_form.selected_path_and_file.value='<%=Replace(objFolder.path, "\", "/")%>/<%=objFile.Name%>'">
			<img border=0 align="absmiddle" vspace=1 src="/_special/ico_doc_faq2.gif"> 
			<%=objFile.Name%>
			</a><br>
		<% end if %>
	<% Next %>
<% end sub %>
	
	
	<center>
<table cellpadding=10 width=98%><td colspan=2 style="border:1px solid cccccc" bgcolor=efefef>
	<form action="dynamic_linklist_browse_select_link.asp" method="post" name="set_path_form">
		<font face=verdana size=1>
		<b><font color=gray face=tahoma>SELECTED FILE</font></b><p>
		<input type="hidden" value="<%=varSelectedPath%>" name="selected_path" style="width:100%">
		<input type="text" value="<%=varSelectedPathAndFile%>" name="selected_path_and_file" style="width:100%">
   		<INPUT onClick="document.location.href='dynamic_linklist_edit_new.asp'" <%if varSelectedPathAndFile = "" then%> disabled <%end if%> TYPE="button" VALUE="Select this file">
		</font>
	</form>
</td><tr>
<td valign=top style="border:1px solid cccccc"  bgcolor=efefef>
	<font face=verdana size=1>
	<b><font color=gray face=tahoma>SELECT THE FILE YOU WANT THE LINK TO OPEN</font></b><p>
	<%subShowTree()%>
	</font>
</table>
</center>
278 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
142 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
143 ms — ändringar (db)