---
title: "Serverside Filebrowser"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/182947-serverside-filebrowser"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Gildebrand"
published: "2010-03-24T17:09:18.000Z"
updated: "2010-03-27T07:27:50.000Z"
replies: 1
views: 548
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/182947-serverside-filebrowser"
---

# Serverside Filebrowser

## #1 — Gildebrand, 2010-03-24T17:09Z

Hallåj!

Jag skulle vilja skapa en file-browser, i en ASP.Net sida. Mapparna och filerna som jag vill visa och browsa i ligger på en filserver, som inte är samma som webbservern. Går det här att lösa på något fint sätt? Det ska gå fort också att logga in till nätverksresursen där filerna finns.

Permalänk: https://www.webforum.nu/p/182947

## #2 — hopparn, 2010-03-27T07:27Z

Ja det är inga problem. Jag har byggt en sådan fast för ett EPiserver intranät. 
Jag gjorde det enkelt och band till en listview. Jag hade också lite ikoner etc men jag tror koden nedan får dig på rätt spår :)

Tilläggas bör att jag hade sökvägen som en prop i EPitemplaten så att administratören kunde skapa en ny sida med sökväg till den huvudfolder på filservern som tänkta användare skulle få se.

Lite exempel :)

```
public string FilePath { get; set; }

		private string[] CurrentPath{
			get { return (string[]) (ViewState["CurrentPath"]); }
			set { ViewState["CurrentPath"] = value; }
		}

		private void Page_Load(object sender, System.EventArgs e)
		{
			if (!IsPostBack)
			{
				this.CurrentPath = new string[]{};
				ShowDirectory();
			}

		}

		private string GetCurrentPath(){
			string folder = this.FilePath;
			foreach (string part in this.CurrentPath)
				folder = Path.Combine(folder, part);
			return folder;
		}
		private void ShowDirectory(){
			WindowsImpersonationContext impersonationContext = ((WindowsIdentity)Page.User.Identity).Impersonate();
			string folder = GetCurrentPath();

			var dirInfo = new DirectoryInfo(folder);
			lvFolders.DataSource = dirInfo.GetDirectories();
			lvFolders.DataBind();

			lvFiles.DataSource = dirInfo.GetFiles();
			lvFiles.DataBind();

			ibUp.Visible = this.CurrentPath.Length > 0;
			impersonationContext.Undo();
		}
protected void DoGoToFolder(object sender, CommandEventArgs e){
			this.CurrentPath = this.CurrentPath.Concat(new[]{e.CommandArgument.ToString()}).ToArray();
			ShowDirectory();
		}
protected void DoBrowseUp(object sender, EventArgs e){
			this.CurrentPath = this.CurrentPath.Take(this.CurrentPath.Length - 1).ToArray();
			ShowDirectory();
		}
```

Permalänk: https://www.webforum.nu/p/2231823

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/182947-serverside-filebrowser
