Avatar billede dresen Nybegynder
09. april 2007 - 13:57 Der er 2 kommentarer og
1 løsning

Upload af flere billeder

Hej eksperter

Jeg forsøger mig med at lade en bruger uploade flere filer.

Nedenfor har I min kode. Det der undrer mig er, at Request.Files.Count antager værdien "0", uanset hvor mange filer jeg angiver til upload.

Kan I forklare hvorfor det sker?

Jeg er først lige begyndt at indarbejde klient side scripts i mine  arbejder, så det kan sagtens være her fejlen ligger. 

På forhånd tak.

/dresen

web form:
---------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MultipleFileUpload.aspx.cs" Inherits="MultipleFileUpload" %>

<!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>
   
    <script language="javascript" type="text/javascript">
       
        <!--
        ////////////////////////////////////////////////////////////////////////
        var fileCount = 1;
        ////////////////////////////////////////////////////////////////////////
       
        function AddFileInput(){
            var fileSectionDiv = document.getElementById("files");
            var fileItemDiv = document.createElement("div");
            //Increment the file counter
            fileCount++;
            //Set up the HTML content
            var content = "<input type=file name=fileUpload" +
                fileCount + ">&nbsp;<a href='java script:RemoveFile(" +
                fileCount + ");'>Remove</a>"
               
            //Set up the fileItemDiv properties and append element
            fileItemDiv.id = "fileItemDiv" + fileCount;
            fileItemDiv.innerHTML = content;
            fileSectionDiv.appendChild(fileItemDiv);
        }
       
        ////////////////////////////////////////////////////////////////////////
        function RemoveFile(fileIndex){
            var fileSectionDiv = document.getElementById("files");
            var fileItemDiv = document.getElementById("fileItemDiv" + fileIndex);
            fileSectionDiv.removeChild(fileItemDiv);
        }
    -->
    </script>   
   
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <div id="files">
                <input type="file" name="fileUpload1" /><br />
            </div>
            <input type="button" value="Add File" onclick="AddFileInput();"/>
            <asp:Button runat="server" ID="btnUpload" Text="Upload Files" OnClick="btnUpload_Click" />       
        </div>
    </form>
</body>
</html>

code behind:
-----------

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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 partial class MultipleFileUpload : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Page.Form.Enctype = "multipart/form-data;";
    }

    protected void btnUpload_Click(object sender, EventArgs e)
    {

        throw new Exception(Request.Files.Count.ToString());

        //for (int i = 0; i < Request.Files.Count; i++)
        //{
        //    HttpPostedFile file = Request.Files[i];

        //    if (!String.IsNullOrEmpty(file.FileName))
        //    {
        //        file.SaveAs(@"C:\Temp\" + file.FileName);
        //    }

        //}

    }
}
Avatar billede arne_v Ekspert
10. april 2007 - 04:10 #1
Jeg tror ikke at

<input type="file" name="fileUpload1" />

virker sammen med ASP.NET

<input type="file" id="fileUpload1" runat="server"/>

og desværre får du nok problemer med at lave dem client side i JavaScript !
Avatar billede dresen Nybegynder
10. april 2007 - 11:37 #2
Det kan godt lade sig gøre. Har lige fundet fejlen, efter at have brugt uanede mængder at tid på at lede.

Fejlen er ganske simpel: Page.Form.Enctype = "multipart/form-data;";

Der er et ; for meget i slutningen af strengen (doooooooh).

/dresen
Avatar billede dresen Nybegynder
10. april 2007 - 14:56 #3
svar
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