Avatar billede Slettet bruger
07. september 2007 - 11:17 Der er 20 kommentarer og
1 løsning

Hjælp til en "Imagemanager"

Jeg skal have kreret en "imagemanager" til mit custom cms-system. Manageren skal kreres "from scrach" fordi jeg aner ikke hvor jeg skal begynde, derfor er der også max. point på spil.

Manageren skal indeholde:
1. en FileUpLoad (Selvfølgelig).
2. en repeter/datagrid (formoder jeg) som skal detecte hvilke filer som ligger i en mappe kaldet "uploads" og udskrive:
  -Filtype.
  -navn.
  -størrelse.
3. en dropdown som detecter navnene på undermapperne i "uploads"
4. et prewievfelt til at vise det valgte image.

Håber at "eksperterne" kan være mig behjælplig! ~:]
Avatar billede everclear Praktikant
08. september 2007 - 15:16 #1
Det problem du beskriver er faktisk ikke så svært at lave.
Hvis du gerne vil have lavet en repeater, der indeholder data omkring filer i en bestemt mappe, kan du med fordel lave et objekt, der indeholder de data du skal bruge. F.eks. Navn, type, størrelse osv.

Det næste skridt er, at du gerne vil løbe alle filer i en bestemt mappe igennem og tilføje filerne til en eller anden form for collection.
Til dette kan du benytte namespacet System.IO, der indeholder class'es til brug med filsystemet.
En måde at hente alle filerne på er:

DirectoryInfo dir = new DirectoryInfo("MinMappe");
FileInfo[] files = dir.GetFiles(".jpg");

Dette giver dig et FileInfo-Array som du enten kan benytte som datasource eller du kan generere et objekt (som vi lavede før) for hver af disse filer og smide dem i en collection - f.eks. en List<>.
Og når du først har dit objekt er det jo ikke svært at vise billedet i et preview-felt, da du jo har filnavnet i dit objekt.
Avatar billede Slettet bruger
10. september 2007 - 09:02 #2
Rart at have taget de "første spadestik" allerede. Forklar lidt mere om det omtalte objekt - hvordan ser det ud hvis jeg skal trække billedeoplysninger ud af mappen og udskrive det?
Avatar billede everclear Praktikant
10. september 2007 - 09:20 #3
Jamen objektets opbygningen afhænger jo af, hvilke oplysninger du vil have. I bund og grund er objektet jo bare en class du laver, kalder den for f.eks. ImageObjekt og så tilføjer de properties til den som du ønsker at bruge.
F.eks.: FileName, FilePath, FileType, FileSize osv.

Herefter kan du lave en manager class (ImageManager) som indeholder den dynamiske kode til at håndtere din objekter. Her kan du f.eks. lave en GetImageObjekt metode, der returnerer et ImageObjekt ud fra et ID eller et filnavn. Samt metoder til at tilføje objekter, slette objekter osv..

Nu ville du så kunne kalde f.eks.:
ImageManager im = new ImageManager();

ImageObjekt io = im.GetImageObjekt("Billede1.jpg");

Nu kan du jo så tilgå de properties der findes på dit ImageObjekt:
io.FileName;
io.FileSize;
io.FileType;

osv.
Avatar billede everclear Praktikant
10. september 2007 - 09:22 #4
Og så naturligvis benytte disse properties ude på din side hvor du vil vise oplysninger om filen:

ImageObjekt io = im.GetImageObjekt("Billede1.jpg");
Image1.ImageUrl = im.FilePath;
Avatar billede thesurfer Nybegynder
10. september 2007 - 16:35 #5
everclear> "Objekt" i "GetImageObjekt", med "k" i stedet for "c"?
Avatar billede everclear Praktikant
10. september 2007 - 20:53 #6
Det er jo sådan set ligemeget hvad man kalder sit objekt. Ved nærmere eftertanke ville jeg nok heller ikke lige vælge ImageObjekt som navn; men det er jo helt op til den person, der koder:-)
Avatar billede Slettet bruger
18. september 2007 - 11:58 #7
Jeg er ikke helt med - prøv at forklare det som hvis det skulle forklares til Tante Olga på 95! Når billederne skal udskrives i <body> - skal det så være som "ImageObjekt io = im.GetImageObjekt("Billede1.jpg");
Image1.ImageUrl = im.FilePath;" eller skal det vises i en repeter, og hvis ja - hvordan ser repeteren så ud?. 

Ved godt jeg er krævende - men er altså lidt Bambi på glatis når det kommer til at programmere HELT fra bunden... ~:/
Avatar billede everclear Praktikant
18. september 2007 - 12:29 #8
Du har jo 2 ting. Du har et object som indeholder nogle informationer omkring dit "billede-objekt". Herunder billede, forfatter, type og hvad du nu ellers vil vide omkring det enkelte billede.
Desuden har du en "manager-class" som kan gøre ting for dig: Lave et nyt billede-objekt, slette, redigere osv. I denne class kan du blandt andet have en method, der kan returnere et billede-objekt til dig ud fra et index eller et navn.

Det vil sige, at når du opretter en instans af din ImageManager class, så kan du tilgå de properties og methods der er på denne.
Hermed kan du jo f.eks. kalde:
ImageManager im = new ImageManager();

ImageObject io = im.GetImageObject("Billede1.jpg");

Dette kræver jo naturligvis, at du har en metode i din ImageManager, der hedder "GetImageObject" og som returnerer et ImageObject.
Men når du nu har et ImageObject, så har du også alle de properties, der hører dertil. Dermed kan du jo f.eks. skrive:

Image1.ImageUrl = "~/Images/" + io.FileName;
lblSize.Text = io.FileSize.ToString() + " bytes";
lblType.Text = io.FileType.ToString();

Det første du skal gøre et at lave din ImageObject class og finde ud af hvilke properties du skal bruge. FileSize, FileName, FileType osv osv osv.

Herefter skal du lave din manager-class (ImageManager). Denne skal så indeholde de metoder du skal bruge i forbindelse med dit ImageObject.
Avatar billede Slettet bruger
18. september 2007 - 13:00 #9
Som jeg skrev før er jeg en mongol til teori, og derfor viser jeg lige mit første spæde stykke kode. En kort forklaring af hvad jeg gør galt og/eller har misforstået burde kunde sende mig i den rigtige retning...

<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="iso-8859-1" %>
<%@ import namespace="System.IO"%>
<script runat="server">
protected void Page_Load(Object Src, EventArgs E)
{
  if (!IsPostBack) 
  LoadData();
}
public void LoadData(){ 
    DirectoryInfo dir = new DirectoryInfo("uploads");
    FileInfo[] files = dir.GetFiles(".jpg");
 
    ImageManager im = new ImageManager();
    ImageObject io = im.GetImageObject("Billede1.jpg");
 
    Image1.ImageUrl = "~/uploads/" + io.FileName;
    lblSize.Text = io.FileSize.ToString() + " bytes";
    lblType.Text = io.FileType.ToString();
}
</script>
<head>
<title>Assetmanager</title>
</head>
<body>
<form runat="server">
<asp:Image ID="ImageManager" runat="server"/>
<asp:Label ID="lblType" runat="server"/><asp:Label ID="lblSize" runat="server"/>
</form>
</body>
</html>
Avatar billede everclear Praktikant
18. september 2007 - 13:34 #10
Men har du oprettet "ImageManger" og "ImageObject"?
Avatar billede Slettet bruger
18. september 2007 - 13:41 #11
Nope...
Avatar billede everclear Praktikant
18. september 2007 - 13:59 #12
OK. Smid mig lige din mail-adresse, så sender jeg lige et lille eksempel til dig.
Avatar billede Slettet bruger
18. september 2007 - 14:07 #13
RobinHansenDK@hotmail.com
Avatar billede everclear Praktikant
18. september 2007 - 14:21 #14
Således
Avatar billede Slettet bruger
19. september 2007 - 13:32 #15
Så langt, så godt:

<%@ Page Language="C#" AutoEventWireup="true" debug="true" %>
<%@ Import Namespace="System.IO" %>
<script runat="server">
ImageManager im = new ImageManager();
protected void Page_Load(Object Src, EventArgs E){
    if (!IsPostBack){
    LoadData();
    }
}   

void LoadData(){
    string path = Server.MapPath("uploads/");
    gvFiles.DataSource = im.GetImageList(path);
    gvFiles.DataBind();
}

protected void gvFiles_SelectedIndexChanged(object sender, EventArgs e){
    string FileName = gvFiles.SelectedDataKey.Value.ToString();
    string path = Server.MapPath("uploads/") + FileName;

    ImageObject io = im.GetImage(path);

    tbFilNavn.Text = "uploads/" +  io.FileName;
}

void NyMappeVisibleTrue(Object sender, System.EventArgs e) {
tbMappeNavn.Visible = true;
btOpret.Visible = true;
}

protected void btOpretMappe(object sender, EventArgs e){
    try {
            Directory.CreateDirectory(MapPath("uploads") + "\\" + tbMappeNavn.Text);
            BekraeftMappe.InnerHtml = "Mappen '" + tbMappeNavn.Text + "' blev oprettet";
        }
        catch(Exception Ex){}
}

void UploadFile(object sender, EventArgs e) {
    string TheFile = FileBox.PostedFile.FileName;
    if (TheFile.Length > 0) {
        string FileType = FileBox.PostedFile.ContentType;
        int FileSize = FileBox.PostedFile.ContentLength;
        if (FileType != "image/jpeg" & FileType != "image/pjpeg" & FileType !="image/gif" & FileType !="image/png") {
            OurSpan.InnerHtml = "Kun filer af typen jpg, gif og png kan uploades";
        }
        else if (FileSize > 1000000) {
            OurSpan.InnerHtml = "Filer over 1mb kan ikke uploades.";
        }
        else {
            string filepath = Server.MapPath("") + "\\uploads\\";
            string filename = TheFile.Substring(TheFile.LastIndexOf("\\")+1);
            string fullpath = filepath + filename;
            try {
                FileBox.PostedFile.SaveAs(fullpath);
                tbFilNavn.Text = "uploads/" + filename;
                LoadData();
            }
            catch (Exception Exc) {
                OurSpan.InnerHtml = "Kunne ikke uploade" + filename + "<br>" + Exc.ToString();
            }
        }
       
    }
    else {
        OurSpan.InnerHtml = "Vælg venligst en fil at uploade";
    }
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form runat="server">
<table border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td colspan="2"><asp:LinkButton ID="lbOpretNy" Text="Ny mappe" OnClick="NyMappeVisibleTrue" runat="server"/>
<asp:TextBox ID="tbMappeNavn" Visible="false" runat="server"/>
<asp:Button ID="btOpret" Text="Opret mappe" OnClick="btOpretMappe" Visible="false" runat="server"/>
<span id="BekraeftMappe" runat="server" /></td>
</td>
    </tr>
  <tr>
    <td width="350" height="265"><div style="overflow:auto width: 350px; height: 262px"><asp:Image runat="server" id="ImagePreview" /></div></td>
    <td><div style="overflow:auto height: 260px"><asp:GridView ID="gvFiles" runat="server" AutoGenerateColumns="True" DataKeyNames="FileName" OnSelectedIndexChanged="gvFiles_SelectedIndexChanged">
      <columns>
      <asp:CommandField SelectText="&nbsp;Vælg&nbsp;" ShowSelectButton="True" />
      </columns>
    </asp:GridView></div></td>
  </tr>
  <tr>
    <td><asp:FileUpLoad id="FileBox" runat="server" />
      <asp:Button ID="btn_Submit" Text="upload" OnClick="UploadFile" runat="server"/></td>
    <td><asp:TextBox ID="tbFilNavn" Width="100%" runat="server"/></td>
  </tr>
</table>
<span id="OurSpan" runat="server" />
</form>
</body>
</html>

De sidste mangler er hvordan får jeg scriptet til at detecte hvilke undermapper som ligger i mappen, og udskriver dem i en dropdown, samt at vise det valgte billede i preview feltet...(pkt. 3 og 4 i første indlæg ~;])
Avatar billede everclear Praktikant
19. september 2007 - 14:18 #16
Hvis du vil have undermapper i en mappe, kan du benytte følgende:

DirectoryInfo dir = new DirectoryInfo("MinMappe/");
DirectoryInfo[] directories = dir.GetDirectories();

DropDownList1.DataSource = directories;
DropDownList1.DataBind();

Hvis du vil vise det valgte billede kan du jo bare bruge dit ImageObject:
ImageObject io = im.GetImageObject("Billede1");

Image1.ImageUrl = io.FileName;
Avatar billede Slettet bruger
20. september 2007 - 10:43 #17
Nu har jeg haft held til at lave et lille script til at oprette en undermappe med, og også et lille script som sletter dem igen, men kun hvis undermapperne er tomme! - hvad mangler mit script for at slette filerne i min under mappe?


sletmappe script:

protected void btSletMappe(object sender, EventArgs e){
    try {
            Directory.Delete(MapPath("uploads") + "\\" + DropDownList1.SelectedValue);
            LoadData();
        }
        catch(Exception Ex){
    }
}
Avatar billede thesurfer Nybegynder
20. september 2007 - 11:26 #18
robinhansen> Du skal bruge en rekursiv funktion.. dvs, en funktion der kalder sig selv..

Noget i stil med

slet(streng m)
{

forhver mappe i m
{

hvis m.har_undermmapper { slet(mappe) }
m.Delete(...)
}

}


Jeg har ikke arbejdet så meget med det at slette undermapper, eller løbe undermapper igennem.. men det er noget i den stil..

Jeg mener dog at jeg brugte DirectoryInfo i stedet for Directory.. Så hvis du ikke har en ".Subfolders", ".hasSubfolders" (til "har_undermapper"), er det nok derfor..
Avatar billede thesurfer Nybegynder
20. september 2007 - 11:27 #19
Det skulle nok have været:

slet(Directory m)

Da man skal sende selve mappen (Directory) med..
Avatar billede Slettet bruger
21. september 2007 - 14:31 #20
***Update***
Endelig har jeg nu et færdigt produkt som jeg godt tør stå ved. For en god ordens skyld ligger jeg lige scriptet op her så andre også kan få glæde af det.

Everclear - smid et svar, du har fortjent hver eneste point.

***Vejledning***

1. Opret en mappe på IIS - kald den hvad som helst (min hedder filmanager).
2. Opret 3 undermapper kaldet: "App_Code", "uploads" og "images"
3. I "uploads" oprettes en undermappe kaldet "billeder"
4. I "App_Code" oprettes 2 .cs filer kaldet ImageManager.cs og ImageObject.cs
5. Opret en .aspx fil kaldet default.aspx
6. I "images" mappen skal billedefilerne til ImageButtons'ene ligge (Find fx. selv nogle)

Her er hvordan filerne skal se ud.
**ImageManager.cs**
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Collections.Generic;

public class ImageManager
{
    public List<ImageObject> GetImageList(string path)
    {
        List<ImageObject> files = new List<ImageObject>();

        DirectoryInfo di = new DirectoryInfo(path);
        foreach (FileInfo file in di.GetFiles())
        {
            ImageObject io = new ImageObject();
            io.FileType = file.Extension;
            io.FileName = file.Name;
            io.FileSize = file.Length;

            files.Add(io);
        }
        return files;
    }

    public ImageObject GetImage(string fullPath)
    {
        FileInfo fi = new FileInfo(fullPath);
        ImageObject io = new ImageObject();
        io.FileType = fi.Extension;
        io.FileName = fi.Name;
        io.FileSize = fi.Length;
        return io;
    }

    public ImageManager()
    {

    }
}

**ImageObject.cs**
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public class ImageObject
{
    private long _fileSize;
    private string _fileName;
    private string _fileType;

    public string FileType
    {
        get { return _fileType; }
        set { _fileType = value; }
    }

    public string FileName
    {
        get { return _fileName; }
        set { _fileName = value; }
    }

    public long FileSize
    {
        get { return _fileSize; }
        set { _fileSize = value; }
    }

    public ImageObject()
    {

    }
}

**default.aspx**
<%@ Page Language="C#" AutoEventWireup="true" debug="true" %>
<%@ Import Namespace="System.IO" %>
<script runat="server">
ImageManager im = new ImageManager();
protected void Page_Load(object sender, EventArgs e){
    if (!IsPostBack){
    LoadData();
    }
}   

void LoadData(){
    ImagePreview.ImageUrl = "images/preview.jpg";
    imbSletMappe.Visible = false;
    imbSletBillede.Visible = false;

    DirectoryInfo dir = new DirectoryInfo(Server.MapPath("uploads/billeder/"));
    DirectoryInfo[] directories = dir.GetDirectories();

    ddlUnderMapper.DataSource = directories;
    ddlUnderMapper.DataBind();
    ddlUnderMapper.Items.Insert(0, "Billeder");
   
    lblBillede.Text = "";

    string path = Server.MapPath("uploads/billeder/");
    gvFiles.DataSource = im.GetImageList(path);
    gvFiles.DataBind();
}

void LoadMapper(){
    if(ddlUnderMapper.SelectedValue == "Billeder")
    {
    string path = Server.MapPath("uploads/billeder/");
    gvFiles.DataSource = im.GetImageList(path);
    gvFiles.DataBind();
    }
    else{
        string path = Server.MapPath("uploads/billeder/" + ddlUnderMapper.SelectedValue);
        gvFiles.DataSource = im.GetImageList(path);
        gvFiles.DataBind();
    }
}

protected void gvFiles_SelectedIndexChanged(object sender, EventArgs e){
imbSletBillede.Visible = true;
    if(ddlUnderMapper.SelectedValue == "Billeder")
    {
    string FileName = gvFiles.SelectedDataKey.Value.ToString();
    string path = Server.MapPath("uploads/billeder/") + FileName;
    ImageObject io = im.GetImage(path);
    Session["Filnavn"] = FileName;
   
    tbFilNavn.Text = "uploads/billeder/" +  io.FileName;
    lblBillede.Text = io.FileName;
    ImagePreview.ImageUrl = path;
    }
    else{
        string FileName = gvFiles.SelectedDataKey.Value.ToString();
        string path = Server.MapPath("uploads/billeder/") + ddlUnderMapper.SelectedValue + "/" + FileName;
        ImageObject io = im.GetImage(path);
        Session["FilNavn"] = FileName;

        tbFilNavn.Text = "uploads/billeder/" + ddlUnderMapper.SelectedValue + "/" + io.FileName;
        lblBillede.Text = io.FileName;
        ImagePreview.ImageUrl = path;
    }
}

void UnderMapper_OnSelectedIndexChanged(object sender, EventArgs e){
    if(ddlUnderMapper.SelectedValue == "Billeder")
    {
    LoadData();
    }
    else
        {
        imbSletMappe.Visible = true;
        lblBillede.Text = "";
        string path = Server.MapPath("uploads/billeder/" + ddlUnderMapper.SelectedValue);
        ImagePreview.ImageUrl = "images/preview.jpg";
        gvFiles.DataSource = im.GetImageList(path);
        gvFiles.DataBind();
    }
}   

void NyMappeVisibleTrue(Object sender, System.EventArgs e) {
    tbMappeNavn.Visible = true;
    btOpretMappe.Visible = true;
    btFortrydOpretMappe.Visible = true;
    lblTekst.Text = "Navnet må ikke indeholde mellemrum, tegn eller æ,ø og å";
    tbMappeNavn.Text = "";
    tbFilNavn.Text = "";
}

protected void OpretMappe(object sender, EventArgs e){
    try {
        Directory.CreateDirectory(MapPath("uploads/billeder") + "\\" + tbMappeNavn.Text);
        btOpretMappe.Visible = false;
        tbMappeNavn.Visible = false;
        btFortrydOpretMappe.Visible = false;
        lblTekst.Text = "";
        LoadData();
        }
        catch(Exception Ex){
    }
}

void FortrydOpretMappe(Object sender, System.EventArgs e) {
    tbMappeNavn.Visible = false;
    btOpretMappe.Visible = false;
    btFortrydOpretMappe.Visible = false;
    lblTekst.Text = "";
}

protected void SletMappe(object sender, EventArgs e){
    try {
            Directory.Delete(MapPath("uploads/billeder") + "\\" + ddlUnderMapper.SelectedValue);
            LoadData();
        }
        catch(Exception Ex){
    }
}

protected void SletBillede(object sender, EventArgs e){
    ImagePreview.ImageUrl = "images/preview.jpg";
    imbSletBillede.Visible = false;
    lblBillede.Text = "";
    tbFilNavn.Text = "";
    if(ddlUnderMapper.SelectedValue == "Billeder")
    {
            System.IO.File.Delete(MapPath("uploads/billeder") + "\\" + Session["FilNavn"]);
           
            LoadMapper();
        }
        else{
            System.IO.File.Delete(MapPath("uploads/billeder") + "\\" + ddlUnderMapper.SelectedValue + "\\" + Session["FilNavn"]);
            LoadMapper();
    }
}

void UploadFile(object sender, EventArgs e) {
    OurSpan.InnerHtml = "";
    if(ddlUnderMapper.SelectedValue == "Billeder")
    {
    UploadTilBilleder();
    }
    else
        {
        UploadTilUnderMappe();
        }
    }

void UploadTilBilleder(){
    string TheFile = FileBox.PostedFile.FileName;
    if (TheFile.Length > 0) {
        string FileType = FileBox.PostedFile.ContentType;
        int FileSize = FileBox.PostedFile.ContentLength;
        if (FileType != "image/jpeg" & FileType != "image/pjpeg" & FileType !="image/gif" & FileType !="image/png") {
            OurSpan.InnerHtml = "Kun filer af typen jpg, gif og png kan uploades";
        }
        else if (FileSize > 1000000) {
            OurSpan.InnerHtml = "Filer over 1mb kan ikke uploades.";
        }
        else {
            string filepath = Server.MapPath("") + "\\uploads\\" + "\\/\\" + "\\billeder\\";
            string filename = TheFile.Substring(TheFile.LastIndexOf("\\")+1);
            string fullpath = filepath + filename;
            try {
                FileBox.PostedFile.SaveAs(fullpath);
                tbFilNavn.Text = "uploads/billeder/" + filename;
                ImagePreview.ImageUrl = "uploads/billeder/" + filename;
                Session["FilNavn"] = filename;
                lblBillede.Text = filename;
                imbSletBillede.Visible = true;
                LoadMapper();
            }
            catch (Exception Exc) {
                OurSpan.InnerHtml = "Kunne ikke uploade" + filename + "<br>" + Exc.ToString();
            }
        }
    }
    else {
        OurSpan.InnerHtml = "Vælg venligst en fil at uploade";
    }
}

void UploadTilUnderMappe(){
    string TheFile = FileBox.PostedFile.FileName;
    if (TheFile.Length > 0) {
        string FileType = FileBox.PostedFile.ContentType;
        int FileSize = FileBox.PostedFile.ContentLength;
        if (FileType != "image/jpeg" & FileType != "image/pjpeg" & FileType !="image/gif" & FileType !="image/png") {
            OurSpan.InnerHtml = "Kun filer af typen jpg, gif og png kan uploades";
        }
        else if (FileSize > 1000000) {
            OurSpan.InnerHtml = "Filer over 1mb kan ikke uploades.";
        }
        else {
            string filepath = Server.MapPath("") + "\\uploads\\" + "\\/\\" + "\\billeder\\" + "\\/\\" + ddlUnderMapper.SelectedValue + "\\";
            string filename = TheFile.Substring(TheFile.LastIndexOf("\\")+1);
            string fullpath = filepath + filename;
            try {
                FileBox.PostedFile.SaveAs(fullpath);
                tbFilNavn.Text = "uploads/billeder/" + ddlUnderMapper.SelectedValue + "/" + filename;
                ImagePreview.ImageUrl = "uploads/billeder/" + ddlUnderMapper.SelectedValue + "/" + filename;
                Session["FilNavn"] = filename;
                lblBillede.Text = filename;
                imbSletBillede.Visible = true;
                LoadMapper();
            }
            catch (Exception Exc) {
                OurSpan.InnerHtml = "Kunne ikke uploade" + filename + "<br>" + Exc.ToString();
            }
        }
    }
    else {
        OurSpan.InnerHtml = "Vælg venligst en fil at uploade";
    }
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Assetmanager</title>
</head>
<body bgcolor="#F0F0EE">
<form runat="server">
<table width="700" border="1" bgcolor="#FFFFFF" bordercolor="#919B9C" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="3" style="padding-left:5px; padding-right:5px">
    Mappe:&nbsp;
    <asp:DropDownList ID="ddlUnderMapper"
    OnSelectedIndexChanged="UnderMapper_OnSelectedIndexChanged"
    AutoPostBack="true"
    runat="server"/>&nbsp;
    <asp:ImageButton ID="imbOpretMappe"
    ImageUrl="images/CreateFolder.gif"
    AlternateText="Ny mappe"
    OnClick="NyMappeVisibleTrue"
    runat="server"/>&nbsp;
    <asp:ImageButton ID="imbSletMappe"
    ImageUrl="images/DeleteFolder.gif"
    AlternateText="Slet mappe"
    OnCommand="SletMappe"
    OnClientClick="return confirm('Mappen slettes kun såfremt den er tom!')"
    runat="server"/>&nbsp;
    <asp:ImageButton ID="imbSletBillede"
    ImageUrl="images/DeleteFile.gif"
    AlternateText="Slet billede"
    OnCommand="SletBillede"
    OnClientClick="return confirm('Vil du slette dette billede?')"
    runat="server"/>&nbsp;
    <asp:TextBox ID="tbMappeNavn"
    Visible="false"
    runat="server"/>&nbsp;
    <asp:LinkButton ID="btOpretMappe"
    Text="opret mappe"
    OnClick="OpretMappe"
    Visible="false"
    runat="server"/>&nbsp;
    <asp:LinkButton ID="btFortrydOpretMappe"
    Text="fortryd"
    OnClick="FortrydOpretMappe"
    Visible="false"
    runat="server"/>&nbsp;
    <asp:Label ID="lblTekst"
    runat="server"/>
    </td>
  </tr>
  <tr>
    <td colspan="3" style="padding-left:5px; padding-right:5px">
    Billede:&nbsp;
    <asp:Label ID="lblBillede" runat="server"/>
    </td>
  </tr>
 
  <tr>
    <td width="350" height="300" valign="top" align="left"><div style="OVERFLOW: auto; WIDTH: 350px; HEIGHT: 300px">
    <asp:Image id="ImagePreview"
    runat="server" /></div>    </td>
    <td width="350" height="300" colspan="2" valign="top" align="left" style="padding-left:4px"><div style="OVERFLOW: auto; WIDTH: 350px; HEIGHT: 300px">
    <asp:GridView ID="gvFiles"
    AutoGenerateColumns="true"
    BorderWidth="0"
    DataKeyNames="FileName"
    OnSelectedIndexChanged="gvFiles_SelectedIndexChanged"
    runat="server">
    <columns>
    <asp:CommandField SelectText="vælg" ShowSelectButton="True"/>
    </columns>
    </asp:GridView></div>   
    </td>
  </tr>
  <tr>
    <td style="padding-left:5px; padding-right:5px">
    <asp:FileUpLoad ID="FileBox"
    runat="server"/>
    <asp:Button ID="btn_Submit"
    Text="upload"
    OnClick="UploadFile"
    runat="server"/>    </td>
    <td style="padding-left:5px; padding-right:5px">
    Billede sti:&nbsp;
    <asp:TextBox ID="tbFilNavn"
    runat="server"/>&nbsp;
    <input type="button"
    class=inputbutton value="Inds&aelig;t"
    onClick="window.opener.location.reload();self.close()">
    </td>
  </tr>
</table>
<div align="center"><span id="OurSpan" runat="server" /></div>
</form>

</body>
</html>
Avatar billede everclear Praktikant
21. september 2007 - 15:56 #21
Super:-) Rart at du har fået det til at spille:-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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